Я рисую точки, используя glDrawArrays
с GL_POINTS
. На моем Intel 82945G Express Chipset Family
все работает нормально. Но на ATI Radeon Mobility 5730
вертикальные линии появляются случайным образом при изменении размера окна.
Вот код, который отображает картинку:
glMatrixMode(GL_MODELVIEW);
glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_COLOR_ARRAY);
glColorPointer(color_p_v,GL_FLOAT,offset,color_array);
glDrawArrays(GL_POINTS,0,N);
glDisableClientState(GL_VERTEX_ARRAY);
glDisableClientState(GL_COLOR_ARRAY);
Я опустил здесь инициализацию массива.
Я проверил с помощью gDEBugger
, что строки рендерятся в задний буфер после выполнения функции glDrawArrays
.
Я видел похожие вопросы здесь, но у людей возникают похожие проблемы при рендеринге текстуры. Мой случай немного проще.
Также есть совет не использовать GL_POINTS
, но мне это кажется странным.
Я хочу понять, что происходит под капотом.
ИМХО есть полосная реализация в конкретном драйвере, но что на самом деле происходит?
GL_POINTS
; с точечными спрайтами они являются эффективным способом выполнения различных забавных операций. - person Bartek Banachewicz   schedule 12.02.2014