Еще одна ошибка gl_VertexID:
- Графический процессор: NVIDIA GeForce 9400M
- Тип: проблема GLSL
- Версия драйвера: NVDANV50Hal 1.6.36
- Версия OpenGL: 2.1, GLSL 1.2 с использованием расширения GL_EXT_gpu_shader4
Это происходит на Macbooks.Вполне возможно, что новый драйвер, поддерживающий OpenGL 3.2, который поставляется с OS X Lion, устранил проблему, но многие платформы настроены только на использование устаревших драйверов 2.1, так что это по-прежнему актуально.
Если вы читали gl_VertexID доВы читаете другой атрибут в вершинном шейдере, последний атрибут возвращает ненужные данные.Если другим атрибутом является gl_Color, независимо от того, как он используется, ничто не будет отображено.Доступ к другим встроенным атрибутам может привести к другому странному поведению.
Если вы должны использовать gl_VertexID, сначала прочтите все остальные атрибуты, которые вам понадобятся.Если вы сначала прочитали другой атрибут, а затем gl_VertexID, все последующие чтения атрибута будут работать нормально.