Water (shader):fr

From Valve Developer Community
Jump to: navigation, search
Réflexions en temps réel d'entités dans Episode Two.

Water est le shader le plus complexe du moteur Source. Il nécessite deux VMT. Et n'a pas de texture de base contrairement aux autres, le rendue est obtenue avec des effets et le Bump.

Note:Ce shader n'est pas opérationel sur les GPU DX70. Dans ce cas l'eau est simuler avec un shader LightmappedGeneric.


Above and below (Au dessus et en Dessous)

Ce shader requiert deux matériaux : Un pour le dessus de la surface de l'eau, et un pour le dessous. Ces deux matériaux sont indépendants, mais il est nécessaire de tenir compte de l'un comme de l'autre pour obtenir un rendu de qualité.

Paramètres du Shader Water

Textures

$abovewater <bool>
Indique si ce matériau est utilisé au dessus ou en dessous de la surface.
$bottommaterial <material>
Chemin vers le second VMT utilisé pour le dessous de la surface de l'eau. Ce second VMT doit avoir $reflecttexture et $abovewater désactivés.
$bumpmap <texture>
Du/dv map utilisé pour le Bump et la réfractions sur les GPU inférieurs à DX9.
$normalmap <texture>
Utilisé pour le Bump et la réfraction sur les GPU DX9 et supérieurs.
Note:Ces deux textures doivent être animées à moins que l'eau soit statique.
$dudvframe <int>
$bumpframe <int>
Note:Frame (image) ou l'animation démarre, nécessaire pour le Proxy. 0 est une valeur courante. $bumpframe affecte ici la $normalmap, c'est une erreur de language.

Fog (brouillard)

$fogcolor <RGB matrix>
Couleur du brouillard volumétrique de l'eau. Généralement cette valeur est la même que celle du second matériau bottom.
$fogenable <bool>
Activez ou désactivez le brouillard volumétrique.
$fogend <float>
Distance en pouces ou finit le brouillard.
$fogstart <float>
Distance en pouces ou commence le brouillard.
Warning: Doit être 0 pour que le fondu des angles fonctionne correctement.

Réflexion/Réfraction

$envmap <env_cubemap / texture>
Génère les réflexions si celles en temps réel sont indisponibles. A désactiver sur le second matériau.
$forcecheap <bool>
Force l'eau à être cheap (basse qualité), quelle que soit les paramètres vidéo de l'utilisateur ou l'entité water_lod_control. Cela oblige les réflexions par Cubemap et désactive les réfractions. Pour le second matériau cette fonction est inutile, car il ne demande pas beaucoup de ressource.
$forceexpensive <bool>
Force l'eau à être expensive(haute qualité), quelle que soient les paramètres vidéo de l'utilisateur ou l'entitée water_lod_control.
$reflectamount <float></code
L'intensité des réflexions. Plus la valeurs est basse plus elles seront visibles.
<code>$reflectentities <bool>
Permet de refléter les entitées. 0 par défault.
$reflecttexture <texture>
Si le cubemap ne convient pas il est possible d'utiliser une texture. Pour des réflexions en temps réel mettez _rt_WaterReflection.
Tip:Specify $refracttexture without $reflecttexture to get real-time refraction on $envmap reflections.
$reflecttint <RGB matrix>
Couleurs des réflexions. (sur le cubemap, la texture ou les réflections temps réel).
$refractamount <float>
L'intensité de la réfraction. Plus la valeur est basse plus elle sera visible, a une incidence directe sur le normal map qui sera plus ou moins visible. Pour les GPU inférieurs à DX9 il est conseillé de diminuer cette valeur pour des raisons de qualité de rendu.
$refracttexture <texture>
Texture pour la réfraction. Pour une réfraction en temps réel tapez _rt_WaterRefraction.
Tip:Specify $refracttexture without $reflecttexture to get real-time refraction on $envmap reflections.
$refracttint <RGB matrix>
Couleurs de la réfractions.
Note:il est recommandé de mettre une valeur blanche pour que la transition entre les deux matériaux sous DX9 fonctionne corectement.

Autre

%compilewater <bool>
Nécéssaire pour que Source traite ce matériaux comme de l'eau.
$surfaceprop water
Utilisé par le système physique pour définir la surface comme étant de l'eau.
%tooltexture <texture>
Optionnel. Définit la texture dans l'explorateur de textures de hammer
WaterLOD proxy
Connecte le matériaux à l'entité water_lod_control, doit toujours être déclaré.
Bug: L'entité Water_LOD ne fonctionne pas.

DirectX

DirectX Versions

Tapez le Cvar Mat dxlevel suivi de la version DX pour voir à quoi ressemble votre texture d'eau sur les autres systèmes.