Ejemplo n.º 1
0
        public override void Blit()
        {
            if (m_pVertexBuffer == null || m_pVertexBuffer.VertexCount < m_pVertices.Length)
            {
                m_pVertexBuffer = new VertexBuffer(CCDrawManager.graphicsDevice, typeof(CCV3F_T2F), m_pVertices.Length, BufferUsage.WriteOnly);
            }

            if (m_pIndexBuffer == null || m_pIndexBuffer.IndexCount < m_pIndices.Length)
            {
                m_pIndexBuffer = new IndexBuffer(CCDrawManager.graphicsDevice, typeof(ushort), m_pIndices.Length, BufferUsage.WriteOnly);
                m_pIndexBuffer.SetData(m_pIndices, 0, m_pIndices.Length);
            }

            if (m_bDirty)
            {
                m_pVertexBuffer.SetData(m_pVertices, 0, m_pVertices.Length);
            }

            bool save = CCDrawManager.VertexColorEnabled;

            CCDrawManager.VertexColorEnabled = false;
            CCDrawManager.DrawBuffer(m_pVertexBuffer, m_pIndexBuffer, 0, m_pIndices.Length / 3);
            CCDrawManager.VertexColorEnabled = save;
        }