Référence des nœuds de shader
95 nœuds répartis en 7 catégories, pour construire des matériaux en graphes. Comment s’en servir : Graphes de matériaux.
Les types de ports sont float, vec2, vec3 et vec4. Un vec3 porte une couleur ou une direction ; brancher des largeurs différentes est géré pour vous quand cela a un sens.
const
Des valeurs fixes que vous saisissez.
| Nœud | Ce que ça fait | Entrées | Sorties |
|---|---|---|---|
constFloat | Un nombre fixe. | — | out:float |
constVec3 | Un triplet fixe. | — | out:vec3 |
input
D’où viennent les valeurs : UV, normale de surface, temps, textures, instance dessinée.
| Nœud | Ce que ça fait | Entrées | Sorties |
|---|---|---|---|
cameraDistance | La distance de ce pixel à la caméra. Pratique pour estomper avec la distance. | — | out:float |
chromaKey — Chroma key | Retire une couleur, rendant un fond vert transparent. | color:vec3, key:vec3, similarity:float, smoothness:float, spill:float | rgba:vec4 |
instanceColor — Instance Color | La teinte que porte cette copie. | — | out:vec3 |
instanceId — Instance ID | Quelle copie d’un objet instancié est dessinée — passez-la dans un hachage pour rendre chaque copie différente. | — | out:float |
materialRef — Material | Récupère un autre matériau comme point de départ. | — | out:vec3 |
normal | Dans quelle direction la surface est tournée. | — | out:vec3 |
normalMap | Applique une normal map, ajoutant du détail de surface sans géométrie en plus. | uv:vec2, strength:float | out:vec3 |
paramColor — Param (color) | Une couleur exposée de la même façon. | — | out:vec3 |
paramFloat — Param (float) | Un nombre exposé comme réglage de matériau, ajustable sans toucher au graphe. | — | out:float |
position | Le point sur la surface, dans l’espace propre de l’objet. | — | out:vec3 |
sampleLod — Sample Texture LOD | Échantillonne à un niveau de flou choisi — de la douceur à bon compte. | uv:vec2, lod:float | rgba:vec4 |
screenUv | Où se trouve le pixel à l’écran plutôt que sur la surface. | — | out:vec2 |
texelFetch — Texel Fetch | Lit un pixel exact, sans filtrage. | texel:vec2 | rgba:vec4 |
texelSize — Texture Size | La taille d’un pixel de texture, pour les effets qui échantillonnent les voisins. | — | size:vec2, texel:vec2 |
texture | Échantillonne une image à certaines coordonnées. | uv:vec2 | rgba:vec4 |
time | Les secondes depuis le début de la scène. Tout ce qui bouge part d’ici. | — | out:float |
triplanar | Projette une texture depuis trois directions à la fois, pour qu’une géométrie sans UV ou étirée rende correctement. | scale:float, blend:float | rgba:vec4 |
uv | Les coordonnées de texture du pixel dessiné — la base de la plupart des motifs. | — | out:vec2 |
viewDirection | La direction de la surface vers la caméra. | — | out:vec3 |
worldPosition | Le même point en espace monde — pour les effets qui restent en place quand l’objet bouge. | — | out:vec3 |
light
Des termes d’éclairage que vous façonnez vous-même.
| Nœud | Ce que ça fait | Entrées | Sorties |
|---|---|---|---|
fresnel | Plus fort aux angles rasants — lumière de contour, champs de force, le lustre sur une voiture. | power:float, normal:vec3 | out:float |
lit — Lit (scene lights) | Éclairage standard, pour qu’un graphe sur mesure s’insère correctement dans la scène. | color:vec3, roughness:float, specular:float, normal:vec3 | out:vec3 |
toonLit — Toon (scene lights) | Éclairage par bandes, pour un rendu stylisé. | color:vec3, steps:float, normal:vec3 | out:vec3 |
math
Arithmétique et courbes sur des nombres simples.
| Nœud | Ce que ça fait | Entrées | Sorties |
|---|---|---|---|
abs | Retire le signe. | x:float | out:float |
add | Additionne. | a:float, b:float | out:float |
atan2 | L’angle vers un point — c’est ainsi qu’on construit des motifs radiaux. | y:float, x:float | out:float |
ceil | Arrondit vers le haut. | x:float | out:float |
clamp | Garde une valeur dans un intervalle. | x:float, min:float, max:float | out:float |
cos | Cosinus. | x:float | out:float |
divide | Divise. | a:float, b:float | out:float |
exp | e à la puissance de l’entrée. | x:float | out:float |
fbm | Du bruit en couches — nuages, fumée, rouille, terrain. | uv:vec2, scale:float, octaves:float | out:float |
floor | Arrondit vers le bas. | x:float | out:float |
fract | Seulement la partie fractionnaire — la façon standard de faire répéter n’importe quoi. | x:float | out:float |
log | Logarithme naturel. | x:float | out:float |
max | La plus grande des deux. | a:float, b:float | out:float |
min | La plus petite des deux. | a:float, b:float | out:float |
mix | Mélange deux valeurs. | a:float, b:float, t:float | out:float |
mod | Le reste ; l’autre façon de faire boucler une valeur. | x:float, y:float | out:float |
multiply | Multiplie. | a:float, b:float | out:float |
noise | Des valeurs aléatoires douces. Le point de départ de tout ce qui est organique. | uv:vec2, scale:float | out:float |
oneMinus | Retourne une valeur 0–1. Étonnamment utile. | x:float | out:float |
posterize | Fige les valeurs sur un nombre de paliers — du banding, volontairement. | x:float, steps:float | out:float |
pow | Élève à une puissance. | x:float, e:float | out:float |
remap | Remet d’un intervalle à un autre. | x:float, inMin:float, inMax:float, outMin:float, outMax:float | out:float |
round | Arrondit au plus proche. | x:float | out:float |
sign | Donne −1, 0 ou 1. | x:float | out:float |
sin | Sinus — chaque oscillation, pulsation et ondulation commence par là. | x:float | out:float |
smoothstep | Un bord doux, avec un dégradé entre les deux seuils. La bête de somme des graphes de shader. | from:float, to:float, x:float | out:float |
sqrt | Racine carrée. | x:float | out:float |
step | Un bord net : sous le seuil 0, au-dessus 1. | edge:float, x:float | out:float |
subtract | Soustrait. | a:float, b:float | out:float |
tan | Tangente. | x:float | out:float |
voronoi | Des motifs cellulaires : écailles, terre craquelée, vitrail. | uv:vec2, scale:float | dist:float, cell:float |
output
Là où le graphe se termine : l’aspect réel de la surface.
| Nœud | Ce que ça fait | Entrées | Sorties |
|---|---|---|---|
mrtOutput — Output (MRT) | Écrit plusieurs sorties à la fois, pour les pipelines avancés. | color:vec3, alpha:float, color1:vec3, alpha1:float, color2:vec3, alpha2:float, color3:vec3, alpha3:float | — |
output | Là où le graphe se termine : l’aspect final de la surface. | color:vec3, alpha:float, offset:vec3 | — |
surfaceOutput — Output (surface) | La description physique — couleur de base, metallic, roughness, normale, émissive, alpha. | baseColor:vec3, metallic:float, roughness:float, emissive:vec3, normal:vec3, alpha:float, offset:vec3, clearcoat:float, clearcoatRoughness:float, ior:float, transmission:float, thickness:float | — |
post
Des nœuds qui échantillonnent l’image rendue — ils font du graphe un effet plein écran plutôt qu’une surface.
| Nœud | Ce que ça fait | Entrées | Sorties |
|---|---|---|---|
chromaticAberration | Sépare les canaux de couleur sur les bords, comme un vrai objectif. | uv:vec2, amount:float | out:vec3 |
contrast | Écarte les clairs et les sombres. | color:vec3, amount:float | out:vec3 |
exposure | Éclaircit ou assombrit toute l’image. | color:vec3, amount:float | out:vec3 |
grain | Ajoute du grain argentique. | color:vec3, intensity:float | out:vec3 |
invert | L’inverse. | color:vec3 | out:vec3 |
saturation | Plus ou moins coloré. | color:vec3, amount:float | out:vec3 |
screenColor | La scène telle que déjà rendue. L’utiliser fait du graphe un effet plein écran. | — | out:vec3 |
tint | Pousse l’image vers une couleur. | color:vec3, tint:vec3 | out:vec3 |
vignette | Assombrit les bords de l’image. | color:vec3, offset:float, darkness:float | out:vec3 |
vector
Construire, séparer et transformer vecteurs et couleurs.
| Nœud | Ce que ça fait | Entrées | Sorties |
|---|---|---|---|
addVec3 | Additionne deux triplets. | a:vec3, b:vec3 | out:vec3 |
alpha | Extrait le canal de transparence. | v:vec4 | out:float |
combineVec2 | Construit une paire. | x:float, y:float | out:vec2 |
combineVec3 | Construit un triplet. | r:float, g:float, b:float | out:vec3 |
combineVec4 | Construit un quadruplet. | rgb:vec3, a:float | out:vec4 |
cross | Une direction perpendiculaire aux deux. | a:vec3, b:vec3 | out:vec3 |
distance | Distance entre deux points. | a:vec3, b:vec3 | out:float |
dot | Produit scalaire — à quel point deux directions s’accordent. | a:vec3, b:vec3 | out:float |
equirectUv — Equirect UV | Projette une direction sur une image panoramique. | dir:vec3 | uv:vec2 |
flipbook — Flipbook | Joue une grille d’images contenue dans une seule image comme une animation. | uv:vec2, frame:float, tilesX:float, tilesY:float | uv:vec2 |
gamma | Applique une courbe gamma. | rgb:vec3, gamma:float | out:vec3 |
hsvToRgb | Et retour. | hsv:vec3 | out:vec3 |
hueToRgb | Une teinte directement en couleur. | h:float | out:vec3 |
length | La longueur d’un vecteur. | v:vec3 | out:float |
luminance | À quel point une couleur paraît lumineuse à l’œil. | rgb:vec3 | out:float |
mixVec3 | Mélange deux triplets. | a:vec3, b:vec3, t:float | out:vec3 |
multiplyVec3 | Multiplie deux triplets. | a:vec3, b:vec3 | out:vec3 |
normalize | Même direction, longueur 1. | v:vec3 | out:vec3 |
panner | Fait défiler les coordonnées dans le temps — eau qui coule, tapis roulants, rayons d’énergie. | uv:vec2, speed:vec2 | out:vec2 |
reflect | Fait rebondir une direction sur une surface. | v:vec3, normal:vec3 | out:vec3 |
rgb | Construit une couleur à partir de trois nombres. | v:vec4 | out:vec3 |
rgbToHsv | Couleur vers teinte, saturation et valeur — la façon simple de décaler la teinte. | rgb:vec3 | out:vec3 |
scaleVec2 | Met une paire à l’échelle par un nombre. | v:vec2, s:float | out:vec2 |
scaleVec3 | Met un triplet à l’échelle par un nombre. | v:vec3, s:float | out:vec3 |
splitVec2 | Sépare une paire. | v:vec2 | x:float, y:float |
splitVec3 | Sépare un triplet. | v:vec3 | x:float, y:float, z:float |
uvTransform | Met à l’échelle, tourne et décale les coordonnées avant l’échantillonnage. | uv:vec2, tiling:vec2, offset:vec2, rotation:float, center:vec2 | out:vec2 |