Historique des modifications - Message

Message #4617

Sujet: shader sous 3ds max et irrlicht


Type Date Auteur Contenu
Dernière modification 22-10-2008 08:31:46 johnplayer
1/ Etant donné que j'utilise deux fichiers *.glsl (fichier_v.glsl et fichier_p.glsl) cela ne change t'il rien pour irrlicht par rapport à un *.ps et un *.vs ?

2/ De plus, d'après mes recherches il faut que je lui passe des paramètres comme les textures qu'il va utiliser, des nombres, ect... Comment puis-je lui transmettre ?
Je m'explique dans un autre code, j'ai vu ceci :
services->setVertexShaderConstant("AlphaAdjust", &AlphaAdjust, 1); // un simple float pour l'alpha
int TexAddress = 0;
ITexture * RTTexture = driver->getTexture("texture.png");
services->setPixelShaderConstant("RTTexture", (float*)(&TexAddress), 1); // transmission d'une texture
SColor TintColour = SColorf(1.0f,1.0f,1.0f,1.0f);
services->setPixelShaderConstant("TintColour", (float*)(&TintColour.r), 4); // transmission d'une couleur

Sachant que dans son pixel shader, il y a :
uniform sampler2D RTTexture;
uniform sampler2D NormalMap;
uniform vec4 TintColour;

varying vec4 GlassPos;
varying vec2 TexCoord;
varying float VAlpha;

En fait, en rééditant mon post je crois que j'ai trouver ma réponse, reste plus qu'à essayer!


PS : Merci pour le code tmyke, il est très clair et bien expliqué.
Création du message 22-10-2008 08:17:17 johnplayer
1/ Etant donné que j'utilise deux fichiers *.glsl (fichier_v.glsl et fichier_p.glsl) cela ne change t'il rien pour irrlicht par rapport à un *.ps et un *.vs ?

2/ De plus, d'après mes recherches il faut que je lui passe des paramètres comme les textures qu'il va utiliser, des nombres, ect... Comment puis-je lui transmettre ?
Je m'explique dans un autre code, j'ai vu ceci :
services->setVertexShaderConstant("AlphaAdjust", &AlphaAdjust, 1); // un simple float pour l'alpha
int TexAddress = 0;
ITexture * RTTexture = driver->getTexture("texture.png");
services->setPixelShaderConstant("RTTexture", (float*)(&TexAddress), 1); // transmission d'une texture
SColor TintColour = SColorf(1.0f,1.0f,1.0f,1.0f);
services->setPixelShaderConstant("TintColour", (float*)(&TintColour.r), 4); // transmission d'une couleur

Sachant que dans son pixel shader, il y a :
uniform sampler2D RTTexture;
uniform sampler2D NormalMap;
uniform vec4 TintColour;

varying vec4 GlassPos;
varying vec2 TexCoord;
varying float VAlpha;

En fait, en rééditant mon post je crois que j'ai trouver ma réponse, reste plus qu'à essayer!


PS : Merci pour le code tmyke, il est très clair et bien expliqué.

Retour

Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
157 invités en ligne
membre en ligne: -
RSS Feed