Что нужно для поддержки неквадратных матриц в шейдере GLSL? - PullRequest
0 голосов
/ 27 сентября 2011

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

Код моего шейдера:

uniform mat4 my_mat;

компилируется просто отлично.

Но если я поменяю его на:

uniform mat4x3 my_mat;

Я получаю

ERROR: 0:5: 'mat4x3' : syntax error syntax error

Я получаю похожую ошибку для

uniform mat4x4 my_mat;

Если я распечатываю свои GL_VERSION и GL_SHADING_LANGUAGE_VERSION, я получаю: GL_VERSION: 2.1 NVIDIA-1.6.36 GL_SHADING_LANGUAGE_VERSION: 1,20

Я компилирую и запускаю свой OpenGL на Mac OS X 10.6 MacBook Pro. Согласно этому документу NVidia и другим, GLSL 1.20 и GL 2.1 должны охватывать поддержку неквадратных матриц и этот синтаксис. Есть еще один улов? Или еще один способ выяснить, почему я получаю синтаксические ошибки?

1 Ответ

1 голос
/ 27 сентября 2011

Если я ставлю

#version 120

В верхней части кода моего шейдера проблема исчезает. Согласно тот же документ, который указан в вопросе источник шейдера без опции компилятора версии, будет компилироваться «как прежде», что, как я предполагаю, означает, что они не будут.

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