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 Prochaine révision | Révision précédente Dernière révision Les deux révisions suivantes | ||
ressource:code:processing:shaders [2022/09/07 11:58] gweltaz [Communication entre l'application et les shaders] |
ressource:code:processing:shaders [2022/12/05 16:54] gweltaz |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag>processing shaders}} | ||
====== Initiation aux Shaders avec Processing ====== | ====== Initiation aux Shaders avec Processing ====== | ||
Ligne 21: | Ligne 22: | ||
</code> | </code> | ||
- | <code glsl freg.glsl> | + | <code glsl frag.glsl> |
#ifdef GL_ES | #ifdef GL_ES | ||
precision mediump float; | precision mediump float; | ||
Ligne 59: | Ligne 60: | ||
L'application (programme Processing) peut envoyer des données vers les shaders par des variable déclarées avec le mot-clé ''uniform''. | L'application (programme Processing) peut envoyer des données vers les shaders par des variable déclarées avec le mot-clé ''uniform''. | ||
+ | |||
+ | ==== Fonctions GLSL ==== | ||
+ | * step(seuil, val) | ||
+ | Renvoi 0. si val < seuil, renvoi 1. si val > seuil | ||
+ | * smoothstep(seuil1, seuil2, val) | ||
+ | * clamp() | ||
+ | * pow() | ||
+ | * fract() | ||
+ | Returns the fractional part of a number | ||
+ | * mod(a, b) | ||
+ | a modulo b | ||
+ | * length() | ||
+ | * atan(y,x) | ||
+ | * mix(v1, v2, pct) | ||
+ | Interpolation linéaire entre v1 et v2 en fonction de 'pct' | ||
+ | * sign(float val) | ||
+ | Renvoi -1 si val est négatif, 1 si val est positif | ||
==== Fonctions Processing pour transmettre des données ==== | ==== Fonctions Processing pour transmettre des données ==== |