Пример #1
0
            public StreamBuffer(int count)
            {
                int createSize = 256;

                while (count > createSize)
                {
                    createSize *= 2;
                }

                this.instanceMatricesData           = new Graphics.StreamFrequency.InstanceMatrix[createSize];
                this.instanceMatrices               = new Graphics.Vertices <Graphics.StreamFrequency.InstanceMatrix>(this.instanceMatricesData);
                this.instanceMatrices.ResourceUsage = Xen.Graphics.ResourceUsage.DynamicSequential;
                this.index = 0;
            }
Пример #2
0
            public Graphics.VerticesGroup Fill(Graphics.IVertices vertices, int count)
            {
                if (this.instanceBuffer == null)
                {
                    this.instanceBuffer = new Graphics.VerticesGroup(vertices, this.instanceMatrices);
                }

                bufferActive = false;

                this.instanceBuffer.Count = vertices.Count;
                this.instanceBuffer.SetChild(0, vertices);
                this.instanceBuffer.SetIndexOffset(1, index);
                this.instanceMatrices.SetDirtyRange(index, count);
                this.index += count;

                return(this.instanceBuffer);
            }