La forma más popular de usar los shaders GLSL en WebGL parece ser incrustarlos en el archivo HTML principal. el vértice y fragmentos de shaders están incrustados en las etiquetas como:WebGL - ¿existe una alternativa a la incorporación de shaders en HTML?
<script id="shader-fs" type="x-shader/x-fragment">
Ésta es la misma convención que veo en las muestras de WebGL en la página de Mozilla Developer Network.
Esto funciona bien para aplicaciones simples, pero cuando se tiene una aplicación compleja con un número de shaders, el archivo html se desordena. (¡Sigo editando el sombreador incorrecto!) Además, si desea reutilizar sus sombreadores, este esquema es inconveniente.
así que estaba pensando en poner estos shaders en unos archivos XML y cargarlos usando XMLHttpRequest(). Entonces vi que alguien más tuvo la misma idea:
http://webreflection.blogspot.com/2010/09/fragment-and-vertex-shaders-my-way-to.html
me gusta la sugerencia de utilizar .c archivos, ya que le da el resaltado de sintaxis y otras comodidades editor para GLSL.
Pero el problema con el enfoque anterior es que (por lo que yo entiendo) XMLHttpRequest() no puede cargar un archivo .c locales - es decir, en el lado del cliente - mientras está desarrollando y probando la aplicación WebGL. Pero es engorroso seguir subiéndolo al servidor durante este proceso.
Así que si quiero mantener los shaders del archivo html, es la única opción para incorporarlos como cadenas en el código? Pero eso sería hacer que sea difícil escribir, así como de depuración ...
lo agradecería cualquier sugerencia sobre la gestión de múltiples shaders GLSL en aplicaciones de WebGL.
Saludos
Edición (Mayo 05 de 2011)
Desde que uso un Mac para el desarrollo, me decidieron a habilitar el servidor Apache, y poner mi código webgl bajo http://localhost/~username/. Esto elude el problema del archivo: el protocolo se deshabilita durante el desarrollo. Ahora el código de carga del archivo javascript funciona localmente desde http: se usa, en lugar de file :. Solo pensé en poner esto aquí en caso de que alguien lo encuentre útil.
su edición es muy útil. Estaba hojeando las respuestas tratando de descubrir cuál era el problema. – izzy