本文整理汇总了C#中Bounds.GetRadius方法的典型用法代码示例。如果您正苦于以下问题:C# Bounds.GetRadius方法的具体用法?C# Bounds.GetRadius怎么用?C# Bounds.GetRadius使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Bounds
的用法示例。
在下文中一共展示了Bounds.GetRadius方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CreateMesh
void CreateMesh()
{
string meshName = MeshManager.Instance.GetUniqueName( "DynamicMesh" );
mesh = MeshManager.Instance.CreateManual( meshName );
//set mesh gabarites
Bounds bounds = new Bounds( new Vec3( -.1f, -.5f, -.5f ), new Vec3( .1f, .5f, .5f ) );
mesh.SetBoundsAndRadius( bounds, bounds.GetRadius() );
SubMesh subMesh = mesh.CreateSubMesh();
subMesh.UseSharedVertices = false;
int maxVertices = ( Type.GridSize.X + 1 ) * ( Type.GridSize.Y + 1 );
int maxIndices = Type.GridSize.X * Type.GridSize.Y * 6;
//init vertexData
VertexDeclaration declaration = subMesh.VertexData.VertexDeclaration;
declaration.AddElement( 0, 0, VertexElementType.Float3, VertexElementSemantic.Position );
declaration.AddElement( 0, 12, VertexElementType.Float3, VertexElementSemantic.Normal );
declaration.AddElement( 0, 24, VertexElementType.Float2,
VertexElementSemantic.TextureCoordinates, 0 );
VertexBufferBinding bufferBinding = subMesh.VertexData.VertexBufferBinding;
HardwareVertexBuffer vertexBuffer = HardwareBufferManager.Instance.CreateVertexBuffer(
32, maxVertices, HardwareBuffer.Usage.DynamicWriteOnly );
bufferBinding.SetBinding( 0, vertexBuffer, true );
//init indexData
HardwareIndexBuffer indexBuffer = HardwareBufferManager.Instance.CreateIndexBuffer(
HardwareIndexBuffer.IndexType._16Bit, maxIndices, HardwareBuffer.Usage.DynamicWriteOnly );
subMesh.IndexData.SetIndexBuffer( indexBuffer, true );
//set material
subMesh.MaterialName = Type.MaterialName;
needUpdateVertices = true;
needUpdateIndices = true;
}
示例2: CreateMesh
private void CreateMesh()
{
DetachMeshFromEntity();
DestroyMesh();
int maxVertexCount = tesselation * tesselation;
int maxIndexCount = (tesselation - 1) * (tesselation - 1) * 6;
string meshName = MeshManager.Instance.GetUniqueName("DynamicSinusoidSurface");
mesh = MeshManager.Instance.CreateManual(meshName);
SubMesh subMesh = mesh.CreateSubMesh();
subMesh.UseSharedVertices = false;
//init vertexData
VertexDeclaration declaration = subMesh.VertexData.VertexDeclaration;
declaration.AddElement(0, 0, VertexElementType.Float3, VertexElementSemantic.Position);
declaration.AddElement(0, 12, VertexElementType.Float3, VertexElementSemantic.Normal);
declaration.AddElement(0, 24, VertexElementType.Float2, VertexElementSemantic.TextureCoordinates, 0);
//declaration.AddElement( 0, 32, VertexElementType.Float4, VertexElementSemantic.Tangent, 0 );
HardwareBuffer.Usage usage = HardwareBuffer.Usage.DynamicWriteOnly;//HardwareBuffer.Usage.StaticWriteOnly;
HardwareVertexBuffer vertexBuffer = HardwareBufferManager.Instance.CreateVertexBuffer(
Marshal.SizeOf(typeof(Vertex)), maxVertexCount, usage);
subMesh.VertexData.VertexBufferBinding.SetBinding(0, vertexBuffer, true);
subMesh.VertexData.VertexCount = maxVertexCount;
HardwareIndexBuffer indexBuffer = HardwareBufferManager.Instance.CreateIndexBuffer(
HardwareIndexBuffer.IndexType._16Bit, maxIndexCount, usage);
subMesh.IndexData.SetIndexBuffer(indexBuffer, true);
subMesh.IndexData.IndexCount = maxIndexCount;
//set material
subMesh.MaterialName = "DynamicSinusoidSurface";
//set mesh gabarites
Bounds bounds = new Bounds(-Scale / 2, Scale / 2);
mesh.SetBoundsAndRadius(bounds, bounds.GetRadius());
}