[OpenGl] Lumiere dans une piece

Lumiere dans une piece [OpenGl] - C++ - Programmation

Marsh Posté le 30-03-2005 à 00:24:27    

J'ai une piece avec 4 murs et je cherche juste à pouvoir mettre des lumieres qui eclairent la piece. Dois-je jouer sur les textures des murs?  
La j'utilise une lumiere mais g des gros probleme d'ombre, c tt moche:
 
void create_light()
{
 long var_i = 1;
 // set up overall light data, including specular=ambient=light colors
 GLfloat light_position[]={ 10.0, 10.0, -10.0, 1.0 };
 GLfloat light_color[]={ 1.0, 1.0, 1.0, 1.0 };
 GLfloat ambient_color[]={ 0.2, 0.2, 0.2, 1.0 };
 GLfloat mat_specular[]={ 1.0, 1.0, 1.0, 1.0 };
 
 glClearColor( 0.0, 0.0, 1.0, 0.0 );
 glShadeModel(GL_SMOOTH);
 glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, mat_specular );
 glLightfv(GL_LIGHT0, GL_POSITION, light_position );
 glLightfv(GL_LIGHT0, GL_AMBIENT, ambient_color );
 glLightfv(GL_LIGHT0, GL_SPECULAR, light_color );
 glLightfv(GL_LIGHT0, GL_DIFFUSE, light_color );
 
 glLightModeliv(GL_LIGHT_MODEL_TWO_SIDE, &var_i); // two-sided lighting
 
 // attributes
 glEnable(GL_LIGHTING);  // so lighting models are used
 glEnable(GL_LIGHT0);  // we'll use LIGHT0
 glEnable(GL_DEPTH_TEST); // allow z-buffer display
 glEnable(GL_CLIP_PLANE1); // enable clipping on plane 1
 
 glEnable(GL_BLEND);      // enable alpha-channel blending        
 glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
 
}
 
 
Merci d'avance ;)

Reply

Marsh Posté le 30-03-2005 à 00:24:27   

Reply

Marsh Posté le 30-03-2005 à 00:27:28    

Et quand tu disable glEnable(GL_BLEND) ca fait quoi ?
 
EDIT : http://forum.hardware.fr/forum2.ph [...] 0&subcat=0
Regarde le post de retrox il explique pas mal le truc.


Message édité par Chronoklazm le 30-03-2005 à 00:36:06

---------------
Scheme is a programmable programming language ! I heard it through the grapevine !
Reply

Marsh Posté le 30-03-2005 à 11:11:23    

j'essaye ça ce soir, je te tiens au courant, merci
:)

Reply

Marsh Posté le 30-03-2005 à 13:58:20    

Pour ce genre de choses tu devrais utiliser des lightmaps, un éclairage par vertex sur de grandes surfaces planes ne donnera rien de satisfaisant à moins d'utiliser un niveau de tesselation absurde.

Reply

Sujets relatifs:

Leave a Replay

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