Page 1 sur 1
Value de sort dans un shader
Posté : 30 nov. 2010, 01:50
par l institutrice
J'ai une chaine dans une map, qui selon la distance apparait ou disparait:
Le shader est celui ci:
Code : Tout sélectionner
textures/phil/chain
{
nopicmip
cull disable
surfaceparm alphashadow
surfaceparm nomarks
surfaceparm trans
polygonOffset
sort 1
{
map textures/phil/chain.tga
blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
alphaFunc GE128
depthWrite
rgbGen vertex
}
}
J'ai essayé d'autre valeur que 1 pour sort, mais cela n'a rien changé.
Y a t'il une valeur particulière à mettre à sort pour éviter la disparition de la chaine, ou une ligne que je ne connais pas à ajouter au shader ?
Re: Value de sort dans un shader
Posté : 30 nov. 2010, 04:23
par silla
nomipmaps
"sort" jamais vue ce truc, jamais vue utilisé non plus.

Re: Value de sort dans un shader
Posté : 30 nov. 2010, 14:02
par l institutrice
Code : Tout sélectionner
sort <value>
Utiliser ce mot clé permet de bien classer l'ordre des shaders en terme "d'épaisseur". Cela permet de ne pas avoir de problèmes avec des shaders étant dessinés dans un mauvais ordre.
Le comportement par défaut est de mélanger tous les shaders de façon additive, sauf les shaders triés qui sont considérés comme opaques. Il n'y a donc a préciser ce mot clé que lorsqu'il y a des problèmes avec plusieurs surfaces transparentes par exemple.
La valeur peut être au choix un chiffre ou un mot clé pris dans la liste ci-dessous (classés par ordre de priorité ascendante):
portal (1) : Cette surface est un portal, il est dessiné au dessus de n'importe quel shader vu dans le portal excepté ce qui est dans le champ de vision.
Sky (2) : Classiquement, le ciel est ce qu'il y a de plus éloigné. Le dessiner seulement après les surfaces opaques peu être un outil d'optimisation. Cela à actuellement une mauvaise valeur pour cet effet, donc ce n'est pas vraiment utile.
Opaque (3) : Cette surface est opaque (peu usité puisque c'est le comportement par défaut avec noblendfunc)
Banner (6) : Transparent, sauf très près des murs.
Underwater (8) : Dessiné derrière les surfaces transparentes sans attributs particuliers.
Additive (9) : Surface normale transparente (valeur par défaut pour les shaders avec des fonctions de mélange : blend-)
nearest (16) : Ce shader devrait toujours appraitre comme le plus proche. Utilisé par exemple pour les flashes et les gouttes
http://wikimapping.free.fr/index.php?ti ... es_shaders