В WebGL GLSL я пытаюсь сделать что-то вроде:
#if (2.0 > 3.0)
// something
#endif
Но это ошибки с:
ОШИБКА: 0:21: «синтаксическая ошибка»: неверное выражение
ОШИБКА: 0:21: '2.0': неожиданный токен после условного выражения
В спецификации 1.0 написано :
A константное выражение является одним из
• буквенное значение (например, 5 или true )
Разве не плавающие литеральные значения?
Точно так же я не уверен, почему это не работает, поскольку это переменная const
, использующая константное выражение для значения:
const vec3 x = vec3(1.0);
...
#if (x.x > 1.0)
#endif
ОШИБКА: 0:21: 'x': неожиданный токен после условного выражения
ОШИБКА: 0:21: «синтаксическая ошибка»: недопустимое выражение
ОШИБКА: 0:21: '.' : неожиданный токен после условного выражения