Voici un exemple qui peut s'avérer utile lors du développement de Chrome.
function FSTR(f) {
// remove up to comment start and trailing spaces and one newline
s = f.toString().replace(/^.*\/\* *\r?\n/,"");
// remove the trailing */} with preceeding spaces and newline
s = s.replace(/\n *\*\/\s*\}\s*$/,"")
return s;
}
s = FSTR(function(){/*
uniform vec2 resolution;
uniform float time;
void main(void)
{
vec2 p = -1.0 + 2.0 * gl_FragCoord.xy/resolution.xy;
vec2 cc = vec2(cos(.25*time), sin(.25*time*1.423));
...
float color = sqrt(sqrt(dmin))*0.7;
gl_FragColor = vec4(color,color,color,1.0);
}
*/});
Cela ne fonctionne pas pour Firefox , bien que cela fonctionne dans Chrome.
Exemple d'utilisation pour l'écriture/le test de webgl shaders. Pendant le développement c'est beaucoup plus agréable de travailler avec et plus tard, vous pouvez toujours courir dessus avec une simple expression rationnelle qui convertit cette syntaxe dans une version multi-navigateur.
Sûrement l'exemple de cette question est plus lisible que la réponse de @dreftymac no? –
Salutations @jasdeepkhalsa. Il y a deux façons de le regarder. L'exemple ci-dessus est définitivement lisible en raison d'avoir moins de caractères. Le problème vient quand vous devez * interagir * avec le code, en ajoutant ou en supprimant des lignes ou en changeant l'ordre des lignes. L'exemple dreftymac contient plus de caractères, mais il est beaucoup plus facile d'interagir avec le code sans déclencher accidentellement une erreur de syntaxe. – dreftymac