Расширение вычислительного шейдера OpenGL

У меня проблема с созданием вычислительного шейдера.

Моя программа, кажется, не знает GLenum type GL_COMPUTE_SHADER, когда я пытаюсь создать шейдер с glCreateShader() func.

Моя видеокарта довольно слабая, но когда я проверяю расширение GL_ARB_compute_shader, оно присутствует, так что, думаю, это не должно быть проблемой.

Есть ли что-то, что я должен сделать, чтобы включить это расширение, или есть другая проблема, и я должен использовать OpenCL?


person mezo    schedule 08.02.2014    source источник


Ответы (1)


Вычислительные шейдеры OpenGL появились в версии 4.3. Я предполагаю, что у вас есть заголовки, предшествующие этой версии. Однако, даже если вы получили более новые заголовки, ваш графический процессор или драйвер могут быть слишком старыми для поддержки OpenGL 4.3. Какую версию вашего оборудования возвращает glGetString(GL_VERSION)?

person Dithermaster    schedule 10.02.2014
comment
glGetString(GL_VERSION) возвращает 4.3.12618 Контекст профиля совместимости 13.250.18.0, поэтому я ожидаю, что он будет поддерживать вычислительные шейдеры. Но мой графический процессор — AMD Mobility Radeon 6490m, и в официальной информации AMD говорится, что он поддерживает только OpenGL 4.1, поэтому я не знаю, что и думать. - person mezo; 10.02.2014
comment
Тогда ваш графический процессор может их поддерживать. Вам нужны обновленные заголовки OpenGL и/или GLEW. - person Dithermaster; 10.02.2014