Example #1
0
        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);
        }
Example #2
0
        // Функция отрисовки модели
        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);
        }