Pregunta simple:
En GLSL, ¿hay alguna manera de compartir funciones entre múltiples sombreadores, o tengo que definir todas las funciones en cada sombreador que las necesite?
Puede definir algunas funciones en un archivo de encabezado e incluirlas en su sombreador. Es un poco diferente de C / C ++ en que pondría los cuerpos de sus funciones en los encabezados, no solo sus prototipos (ya que los sombreadores no tienen un concepto de compilación y enlace separados), sino que es como C / C ++ encabezados
Si #include no está disponible, usaría los argumentos de glShaderSource para especificar las cosas compartidas. Ejemplo:
fuente