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

OpenGL - 3D

CYBER_BOB
CYBER_BOB
Niveau 10
23 juillet 2004 à 02:10:21

Bonjour a tous,
voila, je viens de créer mon espace en 3D comme ce ci ( j´utilise que OpenGL avec GLUT):

/ / fonction redimensionnemnt
void reshape(int w, int h)
{
glViewport(0, 0, ( GLsizei) w, ( GLsizei) h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(90.0f, ( GLdouble)w/h, 0.1f, 100.0f); / / < -
}

/ / fonction d´affichage
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT); / / vide écran

glColor3f(1.0, 1.0, 1.0); / / couleur blanche

glEnable(GL_TEXTURE_2D); / / active les textures
glBindTexture(GL_TEXTURE_2D, 1); / / creation texture

/ / on trace un cube
glBegin(GL_QUADS);
. ..
glEnd();

glFlush(); / / on force l´affichage

glDisable(GL_TEXTURE_2D); / / desactive les textures

glutSwapBuffers(); / / on inverse les buffers
glutPostRedisplay(); / / fenetre redessiné
}

donc en fait j´aimerais savoir ce que je dois mettre comme coordonné en glBegin(GL_QUADS) et glEnd(), pour pouvoir voir un cube de pres ou de loin ( ca na pas d´importance) et que je ne vois que une seul face ! !!
Merci par avance...

JeanYvesYves
JeanYvesYves
Niveau 10
23 juillet 2004 à 09:48:35

essaie ça :

glVertex3f(-1.0f, 1.0f, 0.0f); glVertex3f( 1.0f, 1.0f, 0.0f); glVertex3f( 1.0f,-1.0f, 0.0f); glVertex3f(-1.0f,-1.0f, 0.0f);

sinon, dans ton gluPerspective, je te déconseille de mettre 0.1f comme parametre near, mais plutot 1.0f

CYBER_BOB
CYBER_BOB
Niveau 10
23 juillet 2004 à 11:19:01

les points que tu m´as dit d´entrée ne me dessine rien a l´ecran...

JeanYvesYves
JeanYvesYves
Niveau 10
23 juillet 2004 à 11:19:44

alors je te conseille de faire un glulookat bien placé : si ça ne dessine rien, cest que le carré est hors champ

CYBER_BOB
CYBER_BOB
Niveau 10
23 juillet 2004 à 11:49:44

oui mais je demandé des coordonnées pour qu´on puisse justement voir le cube :snif2:

JeanYvesYves
JeanYvesYves
Niveau 10
23 juillet 2004 à 11:51:47

glVertex3f(-1.0f, 1.0f, -10.0f); glVertex3f( 1.0f, 1.0f, -10.0f); glVertex3f( 1.0f,-1.0f, -10.0f); glVertex3f(-1.0f,-1.0f, -10.0f);

si ça marche pas, essaie des +10.0f a la place des -10.0f en z

CYBER_BOB
CYBER_BOB
Niveau 10
23 juillet 2004 à 11:59:27

sniffff ne marche toujours pas ! !!

JeanYvesYves
JeanYvesYves
Niveau 10
23 juillet 2004 à 12:08:38

dans le display, au début place :

gluLookAt(0,0,0,0,0,100,0,1,0);

et ensuite essaie :

glVertex3f(-1.0f, 1.0f, 10.0f); glVertex3f( 1.0f, 1.0f, 10.0f); glVertex3f( 1.0f,-1.0f, 10.0f); glVertex3f(-1.0f,-1.0f, 10.0f);

CYBER_BOB
CYBER_BOB
Niveau 10
23 juillet 2004 à 12:20:36

bon voici mon code tel que tu me le dit:

/ / fonction redimensionnemnt
void reshape(int w, int h)
{
glViewport(0, 0, ( GLsizei) w, ( GLsizei) h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(90.0f, ( GLdouble)w/h, 1.0f, 100.0f);
}

/ / fonction d´affichage
void display(void)
{
gluLookAt(0,0,0,0,0,100,0,1,0);

glClear(GL_COLOR_BUFFER_BIT); / / vide écran

glColor3f(1.0, 1.0, 1.0); / / couleur blanche

glEnable(GL_TEXTURE_2D); / / active les textures
glBindTexture(GL_TEXTURE_2D, 1); / / creation texture

// on trace un cube
glBegin(GL_QUADS);
glVertex3f(-1.0f, 1.0f, 10.0f);
glVertex3f( 1.0f, 1.0f, 10.0f);
glVertex3f( 1.0f,-1.0f, 10.0f);
glVertex3f(-1.0f,-1.0f, 10.0f);
glEnd();

glFlush(); / / on force l´affichage

glDisable(GL_TEXTURE_2D); / / desactive les textures

glutSwapBuffers(); / / on inverse les buffers
glutPostRedisplay(); / / fenetre redessiné
}

mais bon je n´obtiens rien a part un ecran tout noir ! !!

lag-it
lag-it
Niveau 10
23 juillet 2004 à 12:56:02

Cyber_bob, je t´ai déjà mis un lien vers ce qui consistue une des bibles de tutoriaux OpenGL :

http://nehe.gamedev.net/

C´est clair, précis et abordable.
Ils expliquent tout pas à pas au fil des chapitres.
Si tu comptes utiliser glut, commence par le tuto traitant de ceci ( bon c´est pour MacOS, mais glut est portable et fonctionne pareil sur windows ) et lis les chapitres un à un.
La tu comprendra tout.

maskware
maskware
Niveau 8
24 juillet 2004 à 01:43:23

Avec ceci ca devrait marcher

" void reshape(int w, int h)
{
glViewport(0, 0, w, h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45.0f, ( float)w/(float)h, 1.0f, 100.0f);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}

Aussi, met plutot glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); ca t´evitera des erreurs de Z

Dans l´ordre, j´ai 1. enlevé une conversion inutile ( int to int :) 2. mis ton fov a une variable raisonnable 3. effectué une conversion sympa, et surtout ( 4), mis la matrice de visualisation sur le stack ! Sans ca, la matrice generée par gluLookAt va multiplier la matrice de projection, ce qui n´est pas tres sympa pour visualiser une scene ! N´oublie pas que la matrice en haut de la pile est la derniere invoquée par glMatrixMode !

CYBER_BOB
CYBER_BOB
Niveau 10
24 juillet 2004 à 18:55:56

ok merci, mais j´ai ecrit le code suivant pour que cela fonctionne:

void reshape(int w, int h)
{
glViewport(0, 0, ( GLsizei) w, ( GLsizei) h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45.0f, ( GLfloat)w/(GLfloat)h, 1.0f, 150.0f);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}

/ / fonction d´affichage
void display(void)
{
// dessine un carre
glBegin(GL_QUADS);
glTexCoord2f(0, 0); glVertex3i(-1, -1, -3);
glTexCoord2f(0, 1); glVertex3i(-1, 1, -3);
glTexCoord2f(1, 1); glVertex3i(1, 1, -3);
glTexCoord2f(1, 0); glVertex3i(1, -1, -3);
glEnd();

glFlush(); / / force l´affichage

glutSwapBuffers(); / / on inverse les buffers
glutPostRedisplay(); / / fenetre redessiné
}

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