bonjour;
Je voulai savoir si l'on peut passer 2 textures dans le IShaderCallBack pour y avoir acces comme rampe ou autre texture de parametrage ( normal , bump , parallax ..).
Dans l'exemple du SDK il y a un dans le frag shader une variable en sampler2D "myTexture" je voudrai en definir un autre mais je ne trouve pas le moyen dans le shaderCallBack et puisque le parallax et le bump sont deja natif j'en conclu que l'on ne peut pas ( j'ai trouver un astuce qui marche mais c'est pas tres pro ).
Autre chose , peut-on passer une variable ds les shaders qui sont associer a la SceneNode qui est en train d'etre traitée : dans l'exemple on passe des matrices ,la position d'un lumiere , la postion de la cam .. que des choses accessible depuis le manager ou le driver , je voudrai passer un variable propre a la sceneNode (ex depuis combien de tps elle a etée cree pour faire un texture animée par shader ...) .Là aussi j'ai trouver un astuce mais c'est pas tres pro .
Merci d'avance.
Dernière modification par firnafin (17-06-2007 16:51:39)
Hors ligne
Dans le IShaderCallBack, ajoute :
// set textures int a = 0; services->setPixelShaderConstant("Texture1", (const float*)&a, 1); a = 1; services->setPixelShaderConstant("Texture2", (const float*)&a, 1); a = 2; services->setPixelShaderConstant("Texture3", (const float*)&a, 1); a = 3; services->setPixelShaderConstant("Texture4", (const float*)&a, 1);
Et en GLSL :
uniform sampler2D Texture1; uniform sampler2D Texture2; uniform sampler2D Texture3; uniform sampler2D Texture4;
Hors ligne
ok merci. je vais tester ca.
Hors ligne