Liste des shaders de base.

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

Modérateurs : Sadd, Asche

Répondre
Try0
Messages : 361
Enregistré le : 28 avr. 2007, 14:27
Localisation : France

Liste des shaders de base.

Message par Try0 » 20 janv. 2011, 18:06

D'après le message et les exemples de Moonie sur Urt jumpers (http://www.urtjumpers.com/forum/viewtopic.php?id=60) .

- Chute sans dommage sur sol :

Code : Tout sélectionner

textures/mestextures/texture1:q3map
{
    surfaceparm nodamage
}
Exemple : http://jumping.inx-gaming.co.uk/q3ut4/nodamage.pk3

- Sol glissant ( ou qui peut servir pour empêcher un saut contre le mur ) :

Code : Tout sélectionner

textures/mestextures/texture1:q3map
{
    surfaceparm slick
}
Exemple : http://jumping.inx-gaming.co.uk/q3ut4/slick.pk3

- Créer une texture eau :

Code : Tout sélectionner

textures/water_sfx/water

    {
        qer_editorimage textures/water/pool3d_5.tga
        qer_trans .5
        q3map_globaltexture
        surfaceparm trans
        surfaceparm nonsolid
        surfaceparm water
        surfaceparm nolightmap

        cull disable
        deformVertexes wave 64 sin .5 .5 0 .5    

        { 
            map textures/water/pool3d_5.tga
            blendFunc GL_dst_color GL_one
            rgbgen identity
            tcmod scale .5 .5
            tcmod transform 1.5 0 1.5 1 1 2
            tcmod scroll -.05 .001
        }

        { 
            map textures/water/pool3d_6.tga
            blendFunc GL_dst_color GL_one
            rgbgen identity
            tcmod scale .5 .5
            tcmod transform 0 1.5 1 1.5 2 1
            tcmod scroll .025 -.001
        }

        { 
            map textures/water/pool3d_3.tga
            blendFunc GL_dst_color GL_one
            rgbgen identity
            tcmod scale .25 .5
            tcmod scroll .001 .025
        }

        {
            map $lightmap
            blendFunc GL_dst_color GL_zero
            rgbgen identity        
        }

}
- Water caulk : ( pour pouvoir "coller" deux brush d'eau )

Code : Tout sélectionner

textures/water_sfx/watercaulk
{
    qer_trans 0.40
    qer_editorimage textures/water/watercaulk.tga
    surfaceparm nodraw
    surfaceparm nolightmap
    surfaceparm nonsolid
    surfaceparm trans
    surfaceparm nomarks
    surfaceparm water
}
Exemple : http://jumping.inx-gaming.co.uk/q3ut4/water.pk3

- Lave ( sans dommage ):

Code : Tout sélectionner

{
    qer_editorimage textures/lava/lava_bg.tga
    qer_nocarve
    q3map_globaltexture
    surfaceparm trans
    surfaceparm noimpact
    surfaceparm lava
    surfaceparm nolightmap
    q3map_surfacelight 600
    cull disable
    {
        map textures/lava/lava_bg.tga
        tcmod scale 0.10 0.10
        tcmod scroll 0.04 0.03
        tcMod turb 0 0.02 0 0.01
        blendFunc gl_one gl_zero
        rgbGen identity
    }
    {
        map textures/lava/lava_fg.tga
        blendfunc blend
        tcMod turb 0 0.15 0 0.1
    }
}
- Lava caulk :

Code : Tout sélectionner

textures/lava_sfx/lavacaulk
{
    qer_editorimage textures/lava/qer_lava.tga
    qer_trans 0.5
    qer_nocarve
    surfaceparm trans
    surfaceparm noimpact
    surfaceparm lava
    surfaceparm nodraw
    surfaceparm nolightmap
}
Exemple : http://jumping.inx-gaming.co.uk/q3ut4/lava.pk3

- Échelle ( invisible ):

Code : Tout sélectionner

textures/ladder_sfx/ladderclip
{
        qer_editorimage textures/ladder/ladderclip.tga
        qer_trans 0.40
        surfaceparm nolightmap
        surfaceparm nomarks
        surfaceparm nodraw
        surfaceparm nonsolid
        surfaceparm playerclip
        surfaceparm noimpact
        surfaceparm ladder
        surfaceparm trans
} 
Exemple : http://jumping.inx-gaming.co.uk/q3ut4/ladder.pk3

Shaders de HappyDay :

- Surface non solide :

Code : Tout sélectionner

textures/mytextures/texture:q3map
{
    surfaceparm nonsolid
}
- Texture qui émet de la lumière ( en fonction de la couleur de cette texture ) :

Code : Tout sélectionner

textures/mytextures/texture
{
    qer_editorimage textures/mytextures/texture.tga
    surfaceparm nodamage
    q3map_surfaceLight 1000
    {
        map textures/mytextures/texture.tga
    }
    {
        map $lightmap
        blendFunc GL_DST_COLOR GL_ONE_MINUS_DST_ALPHA
        rgbgen identity
    }
} 
- Texture blanche qui émet de la lumière ( même si textures colorée ):

Code : Tout sélectionner

textures/mytextures/texture
{
    q3map_lightRGB 1.0 1.0 1.0
    q3map_surfacelight 1000

    surfaceparm nolightmap
    surfaceparm nonsolid
    surfaceparm trans
    {
        map $whiteimage
        alphaFunc GE128
        alphaGen const 0
    }
}

- Shader de Delirium pour un sky complet :

Code : Tout sélectionner

textures/texture_folder/sky2 //name of the shader
{
    qer_editorimage textures/texture_folder/env/color.tga //what texture the shader uses in GTK
    q3map_lightmapFilterRadius 0 4 //this is the shadow filter settings
    q3map_lightsubdivide 768 //subdevides the light every 768 units
    q3map_backsplash 0 0 //light does not "splash" upon the surface before or after it

    q3map_sunEXT 1 0.788 0.347 150 100 50 2 12 //sky light/color settings
    q3map_skyLight 150 4  //sky brightness
    q3map_lightRGB 1 0.788 0.347 //skylight color settings (default to 1 1 1(white))

    q3map_noFog //Doesnt react with fog (IS A MUST)

    surfaceparm sky //compiler renders this as sky
    surfaceparm noimpact //does not affect bullet/grenades so they do not
    surfaceparm nolightmap //does not react to the compiler creating lightmapped shadows
    surfaceparm nomarks //no bullet/blood marks will ever show on the sky surface
    surfaceparm nodlight //no dynamic light will flash on this surface from gunfire

    skyparms env/box365/box365 - - //uses pragues skybox with no cloud dist or farbox settings

    nopicmip //no in-game picmip settings will affect the textures used in this shader
    nomipmaps //no graphics card picmip settings will affect the textures used in this shader
}
Pour les exemples, renommez l'extension en .zip et dé-zippez le tout.

Il est bien sur possible de faire un mélange entre plusieurs shaders comme l'exemple suivant :

Code : Tout sélectionner

textures/mestextures/texture1:q3map
{
    surfaceparm nodamage
    surfaceparm slick
}
( un sol de type ice qui ne fera pas de dommages en cas de chute dessus ).

Ps : Je compte ajouter des .zip exemple pour les shaders qui n'en ont pas.

Sinon j'invite tous les mappers à poster des shaders pas trop spécifiques qui peuvent venir en aide aux autres.

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

Re: Liste des shaders de base.

Message par silla » 20 janv. 2011, 19:02

Try0 a écrit :Sinon j'invite tous les mappers à poster des shaders pas trop spécifiques qui peuvent venir en aide aux autres.
Plus simple encore.
http://www.heppler.com/shader/

Try0
Messages : 361
Enregistré le : 28 avr. 2007, 14:27
Localisation : France

Re: Liste des shaders de base.

Message par Try0 » 20 janv. 2011, 19:03

silla a écrit :
Try0 a écrit :Sinon j'invite tous les mappers à poster des shaders pas trop spécifiques qui peuvent venir en aide aux autres.
Plus simple encore.
http://www.heppler.com/shader/
Pas vraiment, pour deux raisons :
- Tout le manuel est en anglais.
- Il n'y a pas de shaders tout fait.

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

Re: Liste des shaders de base.

Message par silla » 20 janv. 2011, 19:09

Oui uniquement en anglais, les tiens aussi d'ailleurs :)
C'est vraie qu'une traduction serait sympa pour les débutants.

Sinon faut savoir mettre un peu les mains dans la m*rde hein, sinon on comprendra jamais le sens ni la fonctionnalité d'un shader, je dis pas qu'il faut les connaître par coeur, loin de la. Mais je vois mal le pauvre débutant lambda qui débarque pour copier/coller bêtement des shaders dont il ne comprend absolument rien.
Mais bon chacun son point de vue.

Peut être exposé uniquement des fonctionnalités basiques ?
Du genre :

shader pour une texture-light (avec alpha)
shader pour texture-light (sans alpha)
shader skybox
etc

Le tout bien commenté et en français :P

Try0
Messages : 361
Enregistré le : 28 avr. 2007, 14:27
Localisation : France

Re: Liste des shaders de base.

Message par Try0 » 20 janv. 2011, 19:18

Le problème c'est que je ne comprends rien non plus aux shaders, que je lis les parties du manuel que je rencontre, quand je copie un shader déjà existant. Après je fais moi même des essais sur les valeurs et je rajoute des choses basiques qui me servent. Mais oui, je suis un gros débutant niveau shader, et les 9/10 des lignes que je mets dans mes shaders, je ne les comprends pas.

C'est donc pour aider les débutant que j'ai fais ça, sachant qu'il n'y a quasiment aucune source d'apprentissage en français.

stratege
Messages : 2246
Enregistré le : 24 juin 2009, 22:38
Localisation : Ile de France

Re: Liste des shaders de base.

Message par stratege » 20 janv. 2011, 21:11

Tu vas pas nous mettre tous les shaders que tu as, j'en ai + de 1000 ... :P
Je pense que c'est avant tout au mappeurs de chercher les shaders dans les maps, les modifiers, trouver des astuces pour obtenir le rendu qu'on souhaite.
Puis il y a toujours le manuel (cité plus haut) pour trouver des informations et quelques exemples très utiles.

Je pense que c'est beaucoup plus enrichissant de faire ça soit même, que de recopier un shader complet sans trop comprendre.

De plus dans certain shader que tu as cité on retrouver des shader common un tout petit peu modifié (watercaulk, lava, ladder ...).
Ce que je veux dire c'est que c'est pas très compliqué d'obtenir des watercaulk et compagnie.
Les trucs plus complexes c'est des shaders avec plusieurs texture utilisés, de multiple stage, des caractéristiques de lumières ... ce qui fait l'utilisation de ces shader souvent inadapté à ta map ou très complexe à modifier pour obtenir l'effet que tu veux, surtout si tu ne t'y connais pas du tout.

j'ajouterais ce lien, qui énumère la liste des "common" avec leur shader associés: http://easymapping.free.fr/html/tuto/common.php

Donc en gros le lien que je t'ai passé c'est une application des "surfacesparm".
Afin d'éviter toute rumeur, je me suis bien fait éjecter du procom par Skaz.
Parce que j'ai osé avoir un avis divergeant du sien.

http://pastebin.com/ruq9te29

Proposer à ses membres une structure leur permettant de pratiquer ensemble la procrastination.

Répondre