Pour le ';' manquant, c'est corrigé. Pour la seconde, c'est une limitation de WebGL (enfin, c'est la norme, qui n'accepte pas les entier en constant).
Pour la dernière question, je n'ai pas compris que quoi vous parliez
Si c'est pour avoir les coordonnées de l'écran (souvent le cas), vous pouvez dans un shadertoy faire :
1 2 3 4 5 6 7
| float aspect = screenResolution.x/screenResolution.y;
vec3 nearPlanePosition = vec3((gl_FragCoord.x - 0.5 * screenResolution.x) / screenResolution.x* 2.0 * aspect,
(gl_FragCoord.y - 0.5 * screenResolution.y) / screenResolution.y * 2.0,
0.0);
// nearPlanePosition = (rotationMat * vec4(nearPlanePosition, 1)).xyz;
vec3 dir = normalize(nearPlanePosition - cameraPosition); |
Qui permet de retrouver les coordonnées en ayant juste la largeur et hauteur de la fenêtre.
Dans ce cas présent, ce sera juste :
vec2 q = vec2(gl_FragCoord.x/width,gl_FragCoord.y/height);
Partager