Честно говоря, впервые использую VBO и, возможно, поэтому не вижу причину ошибки. Лишь закомментировав glDrawElements, я не наблюдаю мерцаний на экране, иначе мерцает не только окно приложения, но и вся остальная область экрана, затем падает видеодрайвер. В чём может быть ошибка?

Код такой:

            Gl.glClear(Gl.GL_COLOR_BUFFER_BIT | Gl.GL_DEPTH_BUFFER_BIT);
            Gl.glMatrixMode(Gl.GL_MODELVIEW);
            Gl.glLoadIdentity();

            Gl.glBindBuffer(Gl.GL_ARRAY_BUFFER, bufs[0]);
            Gl.glColorPointer(4, Gl.GL_FLOAT, 0, 0);
            
            Gl.glBindBuffer(Gl.GL_ARRAY_BUFFER, bufs[1]);
            Gl.glVertexPointer(3, Gl.GL_FLOAT, 0, 0);

            Gl.glBindBuffer(Gl.GL_ARRAY_BUFFER, bufs[2]);
            Gl.glNormalPointer(Gl.GL_FLOAT, 0, 0);

            Gl.glBindBuffer(Gl.GL_ELEMENT_ARRAY_BUFFER, bufs[3]);

            Gl.glEnableClientState(Gl.GL_VERTEX_ARRAY);
            Gl.glEnableClientState(Gl.GL_COLOR_ARRAY);
            Gl.glEnableClientState(Gl.GL_NORMAL_ARRAY);

            Gl.glDrawElements(Gl.GL_TRIANGLES,   
            ElementData.Length,Gl.GL_UNSIGNED_INT, 0);//!!!!

            Gl.glDisableClientState(Gl.GL_VERTEX_ARRAY);
            Gl.glDisableClientState(Gl.GL_COLOR_ARRAY);
            Gl.glDisableClientState(Gl.GL_NORMAL_ARRAY);
            
            OpenGlControl.Invalidate();


Доброго времени суток.
Возникла потребность в создании генератора текстурных координат. Предположим, существует набор вершин произвольного трёхмерного объекта, сложной формы. Так при загрузке или создании подобного объекта, а быть может прямо во время его отрисовки, было бы здорово рассчитать текстурные координаты. Основной проблемой является определение коэффициента масштабирования.

Читать подробнее...



^