RTSEngine.Graphics.RTSRenderer.CreateIndexBuffer C# (CSharp) Method

CreateIndexBuffer() public method

public CreateIndexBuffer ( IndexElementSize id, int s, BufferUsage usage = BufferUsage.WriteOnly ) : IndexBuffer
id IndexElementSize
s int
usage BufferUsage
return IndexBuffer
        public IndexBuffer CreateIndexBuffer(IndexElementSize id, int s, BufferUsage usage = BufferUsage.WriteOnly)
        {
            IndexBuffer ib = new IndexBuffer(G, id, s, usage);
            toDispose.Add(ib);
            return ib;
        }

Usage Example

Esempio n. 1
0
        private void BuildFireModel(RTSRenderer renderer, int div)
        {
            VertexPositionTexture[] verts = new VertexPositionTexture[4 * div];
            short[] inds   = new short[6 * div];
            double  dTheta = Math.PI / div;

            for (int i = 0, ii = 0, vi = 0; i < div; i++)
            {
                inds[ii++] = (short)(vi + 0);
                inds[ii++] = (short)(vi + 1);
                inds[ii++] = (short)(vi + 2);
                inds[ii++] = (short)(vi + 2);
                inds[ii++] = (short)(vi + 1);
                inds[ii++] = (short)(vi + 3);
                float x = (float)Math.Cos(i * dTheta);
                float z = -(float)Math.Sin(i * dTheta);
                verts[vi++] = new VertexPositionTexture(new Vector3(-x, 1, -z), Vector2.Zero);
                verts[vi++] = new VertexPositionTexture(new Vector3(x, 1, z), Vector2.UnitX);
                verts[vi++] = new VertexPositionTexture(new Vector3(-x, 0, -z), Vector2.UnitY);
                verts[vi++] = new VertexPositionTexture(new Vector3(x, 0, z), Vector2.One);
            }

            plFires.VBuffer = renderer.CreateVertexBuffer(VertexPositionTexture.VertexDeclaration, verts.Length, BufferUsage.WriteOnly);
            plFires.VBuffer.SetData(verts);
            plFires.IBuffer = renderer.CreateIndexBuffer(IndexElementSize.SixteenBits, inds.Length, BufferUsage.WriteOnly);
            plFires.IBuffer.SetData(inds);
        }
All Usage Examples Of RTSEngine.Graphics.RTSRenderer::CreateIndexBuffer