Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
445 connectés 

 



Dernière réponse
Sujet : positionnement des lumières sous DirectX 9
crayon29 Je crois que tu aurais plus de chances de trouver solution à ton problème en demandant dans la catégorie programation

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
crayon29 Je crois que tu aurais plus de chances de trouver solution à ton problème en demandant dans la catégorie programation
akalash47 J'essaie de positionner correctement une lumière sous directX.
 
Il est bien dit dans la doc que (comme pour OpenGL) :
 
Light position is described using a D3DVECTOR structure in the Position member of the D3DLIGHT9 structure. The x-, y-, and z-coordinates are assumed to be in world space.
 
Donc normalement les 2 portions de code suivantes devraient être équivalentes :
 

Code :
  1. D3DXMATRIX matWorld;
  2. D3DXMatrixTranslation ( &matWorld, 0.0f, 5.0f, 0.0f );
  3. d3dDevice->SetTransform ( D3DTS_WORLD, &matWorld );
  4. D3DLIGHT9 d3dLight;
  5. d3dDevice->GetLight ( 0, &d3dLight );
  6. d3dLight.Position.x = 0;
  7. d3dLight.Position.y = 0;
  8. //etc...
  9. d3dDevice->SetLight ( 0, &d3dLight );
  10. d3dDevice->LightEnable ( 0, TRUE );
  11. D3DXMatrixTranslation ( &matWorld, 0.0f, -5.0f, 0.0f );    // on revient au repère local précédent
  12. d3dDevice->SetTransform ( D3DTS_WORLD, &matWorld );


 
 
ou alors :
 

Code :
  1. D3DLIGHT9 d3dLight;
  2. d3dDevice->GetLight ( 0, &d3dLight );
  3. d3dLight.Position.x = 0;
  4. d3dLight.Position.y = 5;
  5. //etc...
  6. d3dDevice->SetLight ( 0, &d3dLight );
  7. d3dDevice->LightEnable ( 0, TRUE );


 
Pourtant avec le premier exemple ma lampe reste positionnée en (0,0,0). Alors quelle transformation matricielle dois-je faire pour la déplacer ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR