Сбой компиляции шейдера GLSL без сообщения об ошибке - PullRequest
0 голосов
/ 18 апреля 2019

В мой код встроен следующий шейдер:

static const GLchar * frag_shader_rect =
    "precision mediump float;\n"
    "varying vec4 v_color;\n"
    "void main() {\n"
    "   gl_FragColor = v_color;\n"
    "}\n";

Когда я пытаюсь скомпилировать этот шейдер с

glShaderSource(shader, 1, &frag_shader_rect, NULL);
glCompileShader(shader);

Я получаю сообщение об ошибке, в котором говорится, что шейдер не был скомпилирован, но длина сообщения об ошибке равна 0. Я полностью застрял здесь.

Почему шейдер не компилируется?

1 Ответ

0 голосов
/ 23 апреля 2019

Ваш пример неполон, так что я задаюсь вопросом, правильно ли вы создали шейдер с помощью glCreateShader (GL_FRAGMENT_SHADER).

static const GLchar* frag_shader_rect =
    "precision mediump float;\n"
    "varying vec4 v_color;\n"
    "void main() {\n"
    "   gl_FragColor = v_color;\n"
    "}\n";

GLuint shader = glCreateShader(GL_FRAGMENT_SHADER);
glShaderSource(shader, 1, &frag_shader_rect, NULL);
glCompileShader(shader);
...