Historique des modifications - Message

Message #4621

Sujet: shader sous 3ds max et irrlicht


Type Date Auteur Contenu
Dernière modification 22-10-2008 14:36:59 Piraaate
Moi je veux bien essayer de répondre mais je ne suis pas sûr de toutes les questions alors je vais répondre à ce que je comprends.
Pour tes problèmes de "is not accessible in this profile", le code d'exemple de tmyke utilise video::EVST_VS_2_0 et video::EVST_PS_2_0 qui permettent au compilateur des shaders de s'adapter au profil de ta carte graphique (ici en l'ocurence le support de shaders 2.0). Si tu as l'erreur "is not accessible in this profile" c'est que le profil donné ne permet pas d'utiliser les méthodes utilisées dans ton shader(gl_FragColor etc.)

Sinon pour alimenter les variables déclarées dans ton shader et utiliser le bout de code que tu as trouvé "services->setPixelShaderConstant("TintColour", etc.", il faut brancher une callback lors de la création du shader, regarde la doc des méthodes telles que addHighLevelShaderMaterialFromFiles() ou asimilées. Une fois ta callback branchée, celle ci sera appellée à chaque fois que l'on va rendre à l'écran un material utilisant le shader, tu pourras alors, à l'aides des méthodes setPixelShaderConstant et assimilées, jouer sur les variables déclarées dans le shader.
Pour les textures, le moteur utilise celles qui sont dans le SMaterial auquel tu as attaché le shader avec la méthode cube1->setMaterialType( (video::E_MATERIAL_TYPE) matid ); dans le code de tmyke. Normalement si ce SMaterial est bien configuré tu n'as pas à te soucier des textures.

Voilà, enjoy !
Je guette ce thread si tu as d'autres problèmes ou plus de questions.
Création du message 22-10-2008 13:34:48 Piraaate
Moi je veux bien essayer de répondre mais je ne suis pas sûr de toutes les questions alors je vais répondre à ce que je comprends.
Pour tes problèmes de "is not accessible in this profile", le code d'exemple de tmyke utilise video::EVST_VS_2_0 et video::EVST_PS_2_0 qui permettent au compilateur des shaders de s'adapter au profil de ta carte graphique (ici en l'ocurence le support de shaders 2.0). Si tu as l'erreur "is not accessible in this profile" c'est que le profil donné ne permet pas d'utiliser les méthodes utilisées dans ton shader(gl_FragColor etc.)

Sinon pour alimenter les variables déclarées dans ton shader et utiliser le bout de code que tu as trouvé "services->setPixelShaderConstant("TintColour", etc.", il faut brancher une callback lors de la création du shader, regarde la doc des méthodes telles que addHighLevelShaderMaterialFromFiles() ou asimilées. Une fois ta callback branchée, celle ci sera appellée à chaque fois que l'on va rendre à l'écran un material utilisant le shader, tu pourras alors, à l'aides des méthodes setPixelShaderConstant et assimilées, jouer sur les variables déclarées dans le shader.
Pour les textures, le moteur utilise celles qui sont dans le SMaterial auquel tu as attaché le shader avec la méthode cube1->setMaterialType( (video::E_MATERIAL_TYPE) matid ); dans le code de tmyke. Normalement si ce SMaterial est bien configuré tu n'as pas à te soucier des textures.

Voilà, enjoy !
Je guette ce thread si tu as d'autres problèmes ou plus de questions.

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
113 invités en ligne
membre en ligne: -
RSS Feed