Inheritance: IndexBufferI
Example #1
0
        private void init(DisposableI parent, BufferLayoutDescI bufferLayoutDesc, BufferUsages bufferUsage, VertexBufferTopologys vertexBufferTopology, float[] vertices, int[] indices)
        {
            try
            {
                video = parent.FindParentOrSelfWithException<Video>();
                Topology = vertexBufferTopology;
                bufferLayout = new BufferLayout(this, null, bufferLayoutDesc, true);

                vertexBuffer = new X.VertexBuffer(video.Device, bufferLayout.layout, vertexCount, X.BufferUsage.WriteOnly);
                Update(vertices, vertexCount);

                if (indices != null && indices.Length != 0) indexBuffer = new IndexBuffer(this, usage, indices);
            }
            catch (Exception e)
            {
                Dispose();
                throw e;
            }
        }
Example #2
0
        private void enable(IndexBufferI indexBuffer, VertexBufferI instanceBuffer)
        {
            if (instanceBuffer == null)
            {
                video.Device.SetVertexBuffer(vertexBuffer);
                instanceBuffer = null;
            }
            else
            {
                this.instanceBuffer = (VertexBuffer)instanceBuffer;
            }

            if (indexBuffer == null)
            {
                video.Device.Indices = null;
                indexBuffer = null;
            }
            else
            {
                this.currentIndexBuffer = (IndexBuffer)indexBuffer;
                this.currentIndexBuffer.enable();
            }
        }