#0 

31-10-2011 13:46:06

Kit-fisto24
Membre
Date d'inscription: 03-08-2009
Messages: 60

Salut,

J'aimerai qu'a certain moment mon jeu passe de la couleur au noir et blanc, et vice-versa, mais je n'ai absolument aucun idée de comment faire. Je pourrais re-chargé toutes les textures, mais ça serait un peu une méthode "bourrine". Alors je me demandais si il existais une fonction prédéfini qui permette cela?

J'ai essayé d'y trouvé dans la doc, mais je n'ai aucune idée de où chercher, c'est d'ailleurs pour ça que j'ai mis ce topic dans aucun catégorie, car je ne sais pas du tous a quoi ça touche ( Lumières? Textures? Shaders?...).

Hors ligne


#1 

31-10-2011 17:07:23

thoced
Membre
Date d'inscription: 02-08-2010
Messages: 65

En créant un pixel shader, tu pourra jouer sur la couleur des pixels au niveau du rendu.

Mais par ce topic , je profite pour poser également une petite question. Comment utiliser un pixel shader applicable uniquement sur le backbuffer (sur une texture) et donc travailler sur les pixels d'une textures et pas sur les pixels des faces composés par les vertex ?

merci d'avance pour les réponses,
a+, thoced

Hors ligne


#2 

31-10-2011 17:28:20

Kit-fisto24
Membre
Date d'inscription: 03-08-2009
Messages: 60

N'y aurai-t-il pas ue méthode plus simple, pour tous mes éléments passe en noir et blanc en une seul ligne de code, sans faire node par node?


Pour ta question désolé, je ne sais pas, je ne mis connais pas assez en shader.

Hors ligne


#3 

03-11-2011 09:34:19

thoced
Membre
Date d'inscription: 02-08-2010
Messages: 65

Regarde sur l'application d'un matériau sur le node, tu aura peu être l'effet escompté mais j'en doute. Je pense que le mieux c'est de passer par les shaders, ils ne sont pas très difficille a mettre en oeuvre dans irrlicht du moins au niveau de l'enregistrement dans le moteur, pour ce qui est de l'écriture du shader en question , c'est autre chose, la limite sera tes connaissances et/ou l'effet que tu veux réaliser.

Regarde peut etre de ce cote : EMF_COLOR_MASK  :   node->SetMaterialFlag(EMF_COLOR_MASK ,true);

et ensuite regarde exactement ce que le mask de couleur peut donner en exemple

driver->getOverrideMaterial().Material.ColorMask=ECP_GREEN+ECP_BLUE;   .....
driver->getOverrideMaterial().EnableFlags=EMF_COLOR_MASK;
driver->getOverrideMaterial().EnablePasses=ESNRP_SOLID;

PS : Attention je ne sais pas du tout ce que cela va faire, je n'ai pas testé, d'ailleurs je ne sais pas du tout si les effets que tu veux peuvent se réaliser de cette maniere

Hors ligne


#4 

03-11-2011 09:39:35

thoced
Membre
Date d'inscription: 02-08-2010
Messages: 65

voici le site où j'ai trouvé le bout de code:

http://corrodinggames.com/forums/viewto … 1&t=16

Hors ligne


Options Liens officiels Caractéristiques Statistiques Communauté
Corrections
irrlicht
irrklang
irredit
irrxml
xhtml 1.0
css 2.1
Propulsé par FluxBB
Traduit par FluxBB.fr
883 membres
1429 sujets
11121 messages
Dernier membre inscrit: Saidov17
52 invités en ligne
Aucun membre connecté
RSS Feed