Value de sort dans un shader

Partagez vos trucs et astuces concernant la réalisation des maps et des modèles.

Modérateurs : Sadd, Asche

Répondre
Avatar du membre
l institutrice
Messages : 221
Enregistré le : 28 avr. 2010, 14:31

Value de sort dans un shader

Message par l institutrice » 30 nov. 2010, 01:50

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 ?
La 4.2 ou je tue le chien !!!

Avatar du membre
silla
Messages : 159
Enregistré le : 07 juil. 2009, 11:39
Localisation : Paname

Re: Value de sort dans un shader

Message par silla » 30 nov. 2010, 04:23

nomipmaps
"sort" jamais vue ce truc, jamais vue utilisé non plus. :)

Avatar du membre
l institutrice
Messages : 221
Enregistré le : 28 avr. 2010, 14:31

Re: Value de sort dans un shader

Message par l institutrice » 30 nov. 2010, 14:02

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
La 4.2 ou je tue le chien !!!

Répondre