private void DrawTriangles() { VertexBuffer curVertexBuffer = m_VertexBuffers[m_CurVertexBufferHandle]; if (m_CurIndexBufferHandle == -1) { for (int i = 0; i < curVertexBuffer.Count(); i += 3) { Vertex v0 = curVertexBuffer[i + 0]; Vertex v1 = curVertexBuffer[i + 1]; Vertex v2 = curVertexBuffer[i + 2]; RasterTriangle(v0, v1, v2); } } else { UnityEngine.Assertions.Assert.IsTrue((m_CurVertexBufferHandle >= 0) && (m_CurVertexBufferHandle < m_IndexBuffers.Count), "IndexBuffer out of Range"); IndexBuffer curIndexBuffer = m_IndexBuffers[m_CurIndexBufferHandle]; for (int i = 0; i < curIndexBuffer.Count(); i += 3) { Vertex v0 = curVertexBuffer[curIndexBuffer[i + 0]]; Vertex v1 = curVertexBuffer[curIndexBuffer[i + 1]]; Vertex v2 = curVertexBuffer[curIndexBuffer[i + 2]]; RasterTriangle(v0, v1, v2); } } }