ошибка: C2065: 'GL_GEOMETRY_SHADER': необъявленный идентификатор - PullRequest
0 голосов
/ 03 июня 2018

Я получаю эту ошибку при попытке создать приложение с QtCreator с компилятором Qt 5.11 и MSVC 2017 , установленным Microsoft Visual Studio Community 2017 :

C: \ Users \ IEUser \ go \ src \ company \ 3dpe \ 3dpe-materials.cpp: 190: ошибка: C2065: 'GL_GEOMETRY_SHADER': необъявленный идентификатор

Ошибка происходит в вторая строка кода ниже, обратите внимание, что 1-я строка и 3-я строка в порядке, плохая только 2-я строка:

data[renderer]->vtxShd = addShaderToProgram(vertexShaderSource, GL_VERTEX_SHADER, data[renderer]->shdPrg, renderer);
data[renderer]->geoShd = addShaderToProgram(geometryShaderSource, GL_GEOMETRY_SHADER, data[renderer]->shdPrg, renderer);
data[renderer]->frgShd = addShaderToProgram(fragmentShaderSource, GL_FRAGMENT_SHADER, data[renderer]->shdPrg, renderer);

Снимок экрана с ошибкой показан ниже:

GL_GEOMETRY_SHADER error screen-shot


Ошибка возникает из-за того, что GL_GEOMETRY_SHADER не определен в следующих заголовочных файлах:

gl3.h заголовочный файл:

    Directory: C:\Qt\Qt5.11.0\5.11.0\winrt_x64_msvc2017\include\QtANGLE\GLES3


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        5/14/2018  11:28 PM          83875 gl3.h

gl2.h заголовочный файл:

    Directory: C:\Qt\Qt5.11.0\5.11.0\winrt_x64_msvc2017\include\QtANGLE\GLES2


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        5/14/2018  11:28 PM          44659 gl2.h

Ошибка НЕ возникает при сборке с MinGW компилятором.


Я пока не мог найти решение, просто думал, что кто-то поможет.

1 Ответ

0 голосов
/ 03 июня 2018

Геометрические шейдеры не поддерживаются в OpenGL ES 3.0.См. OpenGL ES Shading Language 3.00 Спецификация

Но геометрические шейдеры поддерживаются начиная с OpenGL ES 3.2.Увидеть. OpenGL ES Shading Language 3.20 Спецификация

Подробнее Реестр Khronos OpenGL ES .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...