¿Hay alguna manera de decir dentro del código fuente de un sombreador que el sombreador se está compilando para OpenGL ES? Quiero poder definir la versión usando la directiva de preprocesador #version
para ser 100 para OpenGL ES (para que el sombreador compile para OpenGL ES 2.0), pero es la versión 110 para OpenGL 2.1).¿Es posible decir si la versión OpenGL es OpenGL ES dentro del código de sombreado?
¿Es la mejor manera de hacer esto para colocar la #version como una cadena separada que se alimenta a nivel de aplicación, o hay una manera de hacerlo dentro del sombreador?
Otra cosa útil, relacionada con poder hacer sería decir algo como #if version == 100
compilar este código, else
compilar este código. ¿Es esto posible dentro de GLSL?
Gracias.
no podría encontrarlo en su programa C donde carga el sombreador y antepone '#version 100' si es OpenGL ES y de lo contrario' #version 110'. Quiero decir que tienes que pasar OpenGL el sombreador como una cadena de todos modos, así que ¿por qué no hacer el procesamiento de la versión en C. – PeterT
Sí, estaba pensando que era lo que iba a tener que hacer! –