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. |
| Options | Liens officiels | Caractéristiques | Statistiques | Communauté |
|---|---|---|---|---|
|
Préférences cookies Corrections |
![]() ![]() ![]() ![]() |
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 |