CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Gestion des lumières avec OpenGL et glut

alex6891
alex6891
Niveau 10
10 août 2004 à 09:51:46

Même en simplifiant grandement mon code comme ce qui suit, rien ne s´affiche à l´écran :

  1. include < GL/glut.h>

void InitGL();
void draw();
void keyPressed(unsigned char touche, int x, int y);
void reshape(int x, int y);

int main(int argc, char** argv)
{
glutInit(&,argv); / /initialise le lien entre OpenGL et
/ /l´environnement graphique

glutInitDisplayMode(GLUT_RGB|GLUT_DEPTH|GLUT_DOUBL
E);
/ /initialise les modes d´affichage
glutInitWindowPosition(200,200);
/ /positionne la fenêtre
glutInitWindowSize(500,500);
/ /dimensionne la fenêtre
glutCreateWindow("disco");
/ /création de la fenêtre OpenGL
glClearColor(0.0,0.0,0.0,0.0);
/ /initialise la couleur de remplissage
/ /de la fenêtre
glPointSize(1.0); / /initialise la taille d´un point
InitGL();
glutDisplayFunc(draw);
glutKeyboardFunc(keyPressed);
glutReshapeFunc(reshape);
/ /listage des fonctions callback

glutMainLoop();
return 0;
}

void InitGL()
{
glEnable(GL_DEPTH_TEST); / /active le test de profondeur
glEnable(GL_LIGHTING); / /active les lumières
glEnable(GL_LIGHT0); / /active la lumière n°1
}

void draw()
{
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW);

glTranslated(0,0,-5);
glutSolidSphere(1,30,30);

glutSwapBuffers();
glutPostRedisplay();
}

void reshape(int x, int y)
{
if(x<y)
{
glViewport(0,(y-x)/2,x,x);
}
else
{
glViewport((x-y)/2,0,y,y);
}
}

void keyPressed(unsigned char touche, int x, int y)
{
switch ( touche)
{
case ´q´ :
exit(0); / /arrêt du programme
}

}

Merci de m´aider.

JeanYvesYves
JeanYvesYves
Niveau 10
10 août 2004 à 10:48:57

essaie de faire un loadidentity apres :
glMatrixMode(GL_MODELVIEW);

essaie de placer un gluPerspective !

alex6891
alex6891
Niveau 10
10 août 2004 à 11:07:23

Merci ça marche !

J´ai rajouté :

glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(angle,1.0,0.1,40.0);

glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glLightiv(GL_LIGHT0,GL_POSITION,LightPos1);

JeanYvesYves
JeanYvesYves
Niveau 10
10 août 2004 à 11:09:22

:)
faut po oublier le loadidentity ! sinon tu cumules tes translates de frame en frame :)

et le perspective te sert a définir le Frustrum
http://www.fvirtman.fr.st
info/culture/theorie prog image ; § Frustrum

alex6891
alex6891
Niveau 10
10 août 2004 à 12:15:45

Oui et en fait le frustrum est indispensable à l´affichage de la scène apparemment.

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment