Конфликт версий GLSL
Есть шейдер в котором используется встроенная переменная gl_PointCoord.
На десктопе компилятор говорит, что для того чтобы использовать эту переменную, необходимо указать версию шейдера 120+. Хорошо, указываю: #version 120
Но на андроиде (OpenGL ES 2.0) компилятор говорит, что не знает 120 версию языка. При этом поддержка
gl_PointCoord в ES 2.0 и так есть. По идее для десктопа я должен указывать версию языка, а для андроид нет.
Но как это сделать?
#ifdef GL_ES
precision highp float;
#else
#version 120
#endif
Такой вариант отказывается компилироваться по причине error C0204: version directive must be first statement
Вот такая дилемма. Шейдер работает либо не десктопе, либо на андроид, в зависимости от того, укажу я версию или нет.