当前位置: 首页>>代码示例>>C#>>正文


C# Bounds.GetRadius方法代码示例

本文整理汇总了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;
        }
开发者ID:CITS4242B2010,项目名称:project2010,代码行数:38,代码来源:BlinkGrid.cs

示例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());
        }
开发者ID:AKNightHawk,项目名称:AssaultKnights2,代码行数:40,代码来源:DynamicSinusoidSurface.cs


注:本文中的Bounds.GetRadius方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。