[Java3D] problem de lumiere

problem de lumiere [Java3D] - Java - Programmation

Marsh Posté le 31-03-2006 à 00:37:31    

Bonjour,
J'ai un petit problem de lumiere : dans mon code je spécifie une lumière unidirectionelle, cependant rien ne change par rapport à lorsque j'ai une lumiere ambiante .  J'ai pourtant géré les normales en construisant mes Shape3D, et j'ai utilisé la méthode setMaterial() ....
je vois pas ce qui se passe ...
voila le morceau de code ou je définis la source lumineuse :

Code :
  1. public BranchGroup dessiner3d(){
  2.  //creation du BranchGroup :
  3.  BranchGroup bg = new BranchGroup();
  4.  //on creer deux Groups :
  5.  Group groupDeCases = new Group();
  6.  Group groupDePions = new Group();
  7.  //on ajoute le TransformGroup de chaque Case au groupe groupDeCases :
  8.  for (int h=0; h<taille; h++){
  9.   for (int v=0; v<taille; v++) groupDeCases.addChild( C[h][v].dessiner3d());
  10.  }
  11.  //on ajoute le TransformGroup de chaque pion au groupe groupDePions :
  12.  for (int i=0; i<nbPion; i++) groupDePions.addChild(P[i].dessiner3d());
  13.  //---------------------debut creation du plateau-----------------------//
  14.                                                ...........
  15.                                             bla bla  bla bla
  16.                                       .....................
  17.  bg.addChild(rotation);
  18.  //---------------------fin creation du plateau-----------------------//
  19.  //---------------------Gestion des lumieres-----------------------//
  20.  //une lumiere ambiante :
  21.  //AmbientLight lumAmb=new AmbientLight(new Color3f(1f,1f,1f));
  22.  //lumAmb.setInfluencingBounds(new BoundingSphere(new Point3d(),150d));
  23.  //bg.addChild(lumAmb);
  24.  //ainsi qu'un lumiere directionelle pour mettres les formes en valeurs :
  25.  DirectionalLight lumDir=new DirectionalLight();
  26.  lumDir.setDirection(new Vector3f(0f,0f,-1f));
  27.  lumDir.setInfluencingBounds(new BoundingSphere(new Point3d(),150d));
  28.  lumDir.setColor(new Color3f(1f,1f,1f));
  29.  bg.addChild(lumDir);
  30.  //---------------------Fin Gestion des lumieres-----------------------//
  31.  return(bg);
  32. }

 
 
et avec ce code, j'obtient ca :
http://pesle.free.fr/plateau2-petit
 il n'y a aucune hombres rien du tout , c'est comme si j'avais une lumiere ambiente !
 
Merci de votre aide !

Reply

Marsh Posté le 31-03-2006 à 00:37:31   

Reply

Marsh Posté le 31-03-2006 à 01:33:18    

ok, ben en fait j'ai trouvé, il suffisait d'utiliser TextureAttributes.MODULATE pour la transparence des textures !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed