public void render() { mat.applyMaterial(); Gl.glEnableClientState(Gl.GL_VERTEX_ARRAY); Gl.glBindBuffer(Gl.GL_ARRAY_BUFFER, VertBuf[0]); Gl.glVertexPointer(3, Gl.GL_FLOAT, 0, IntPtr.Zero); Gl.glEnableClientState(Gl.GL_NORMAL_ARRAY); Gl.glBindBuffer(Gl.GL_ARRAY_BUFFER, NormBuf[0]); Gl.glNormalPointer(Gl.GL_FLOAT, 0, IntPtr.Zero); Gl.glDrawArrays(Gl.GL_TRIANGLES, 0, VertexCount); Gl.glDisableClientState(Gl.GL_VERTEX_ARRAY); Gl.glDisableClientState(Gl.GL_NORMAL_ARRAY); }
// Функция отрисовки модели public void render() { // Применяем свойства заданного материала mat.applyMaterial(); // Подключаем ранее созданный буфер вершин Gl.glEnableClientState(Gl.GL_VERTEX_ARRAY); Gl.glBindBuffer(Gl.GL_ARRAY_BUFFER, VertBuf[0]); Gl.glVertexPointer(3, Gl.GL_FLOAT, 0, IntPtr.Zero); // Подключаем ранее созданный буфер нормалей Gl.glEnableClientState(Gl.GL_NORMAL_ARRAY); Gl.glBindBuffer(Gl.GL_ARRAY_BUFFER, NormBuf[0]); Gl.glNormalPointer(Gl.GL_FLOAT, 0, IntPtr.Zero); // Рисуем модель Gl.glDrawArrays(Gl.GL_TRIANGLES, 0, VertexCount); // Отключаем режим отрисовки VBO Gl.glDisableClientState(Gl.GL_VERTEX_ARRAY); Gl.glDisableClientState(Gl.GL_NORMAL_ARRAY); }