Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente | |||
|
ressource:code:processing:shaders [2022/12/05 16:54] gweltaz |
ressource:code:processing:shaders [2023/04/25 18:13] (Version actuelle) zemog [Variables uniform communes à tous les shaders dans Processing] |
||
|---|---|---|---|
| Ligne 96: | Ligne 96: | ||
| > Attention ! Lorsqu'on transmet des nombres entiers, comme par exemple : ''set("u_resolution", 512, 512)'', soyez sûr d'avoir déclaré les variables ''uniform'' pour des types entiers, comme : ''ivec2'', ''ivec3''... \\ | > Attention ! Lorsqu'on transmet des nombres entiers, comme par exemple : ''set("u_resolution", 512, 512)'', soyez sûr d'avoir déclaré les variables ''uniform'' pour des types entiers, comme : ''ivec2'', ''ivec3''... \\ | ||
| > Une autre solution est de les convertir en nombres flottants avant de les transmettre : ''set("u_resolution", float(512), float(512))'' | > Une autre solution est de les convertir en nombres flottants avant de les transmettre : ''set("u_resolution", float(512), float(512))'' | ||
| + | |||
| + | ==== Variables uniform communes à tous les shaders dans Processing ==== | ||
| + | Certaines variables ''uniform'' sont définies dans Processing et sont disponibles dans tous les shaders.\\ | ||
| + | Elles sont déclarées dans le fichier ''PShader.java'' de Processing. | ||
| + | <code glsl> | ||
| + | uniform mat4 transformMatrix; // la matrice de model view projection pour transformer les coordonnées du vertex du model space au clip space | ||
| + | uniform mat4 projectionMatrix; // la matrice de projection permet de passer du camera space au clip space | ||
| + | uniform mat4 modelviewMatrix; // la matrice modelview permet de passer du model space au world space puis au camera space | ||
| + | uniform vec2 resolution; // contient la résolution de notre fenêtre | ||
| + | uniform vec4 viewport; // contient la position de notre fenêtre ainsi que sa résolution | ||
| + | </code> | ||
| ===== Textures ===== | ===== Textures ===== | ||