begin process at 2012 05 29 17:55:26
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

OpenGL

 > 

pb de Z-buffer ac openGL -> Help!


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

pb de Z-buffer ac openGL -> Help!

lundi 15 décembre 2003 à 17:16:07 | pb de Z-buffer ac openGL -> Help!

Arnaud16022

Membre Club
bonjour tt le monde!
quelqun pourrait me dire pourqoui le Z-buffer marche pas?
pasque le dernier (4ème) triangle dessiné apparait tjs au dessus, meme s'il devrait etre derrière dans l'espace.

bon, voilà le code, il faut juste rajouter -lopenGL32 -lglut32 ds project options, mais je suppose que si qqun peut repondre a ma question, il saura aussi comment compiler un projet openGL

Au fait, j'ai Dev C++


Merci d'avance

PS:je sais, ya pas + con comme prog, mais bon faut bien commencer par quelque part


// affiche 4 faces d'un pavé de 2*2*3, et permet de tourner autour.

// ou du moins, ca devrait.



#include <GL/glut.h>
#include <stdlib.h>

float a=0.0,b=0.0;

void processSpecialKeys(int key,int x,int y){
switch(key){
case GLUT_KEY_RIGHT :
a=a-1; break;
case GLUT_KEY_LEFT :
a=a+1; break;
case GLUT_KEY_UP :
b=b-1; break;
case GLUT_KEY_DOWN :
b=b+1; break;
}
}


void display(void) {
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
gluLookAt(0, 0, 6, 0, 0, 0, 0, 1, 0);
glRotatef(a,0,1,0);
glRotatef(b,1,0,0);
glBegin(GL_QUADS);

glColor3f(1.0, 1.0, 1.0);
glVertex3i(-1,0,1);
glVertex3i(1,0,1);
glVertex3i(1,3,1);
glVertex3i(-1,3,1);
glColor3f(0.0, 0.0, 1.0);
glVertex3i(1,0,-1);
glVertex3i(1,3,-1);
glVertex3i(-1,3,-1);
glVertex3i(-1,0,-1);
glColor3f(0.0, 1.0, 0.0);
glVertex3i(1,0,1);
glVertex3i(1,0,-1);
glVertex3i(1,3,-1);
glVertex3i(1,3,1);
glColor3f(0.0, 1.0, 1.0);
glVertex3i(-1,0,1);
glVertex3i(-1,0,-1);
glVertex3i(-1,3,-1);
glVertex3i(-1,3,1);
glEnd();

glutSwapBuffers();
glutPostRedisplay();
}


void init(void) {
glClearColor (0.0, 0.0, 0.0, 0.0);
glShadeModel (GL_SMOOTH);
}

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


int main(int argc, char** argv) {
glutInit(&argc, argv);
glutInitDisplayMode (GLUT_DOUBLE | GLUT_RGB);
glutInitWindowSize (250, 250);
glutInitWindowPosition (100, 100);
glutCreateWindow (argv[0]);
init ();
glutDisplayFunc(display);
glutIdleFunc(display);
glutReshapeFunc(reshape);
glutSpecialFunc(processSpecialKeys);

glutMainLoop();
return 0;
}
lundi 15 décembre 2003 à 19:23:04 | Re : pb de Z-buffer ac openGL -> Help!

djl

rajoute glEnable(GL_DEPTH_TEST); dans ta fonction init(il me semble pas l'avoir vu dans ton code)
lundi 15 décembre 2003 à 22:51:54 | Re : pb de Z-buffer ac openGL -> Help!

neodante

Administrateur CodeS-SourceS

Neodante

Avec un rajout dans glutInitDisplayMode de GLUT_DEPTH ce serais pas mal histoire d'allouer un peu d'espace mémoire pour le tampon de profondeur ! ;-)
Effectivement il manque aussi le glEnable() de djl !
@+
lundi 15 décembre 2003 à 22:53:50 | Re : pb de Z-buffer ac openGL -> Help!

neodante

Administrateur CodeS-SourceS

Neodante

pour plus d'info sur l'utilisation de la GLUT :
http://www.neogamedev.com/index.php?PageID=2001
je me suis pas embêter à écrire tout ça pour rien !!! ;-)
@+
lundi 15 décembre 2003 à 23:01:36 | Re : pb de Z-buffer ac openGL -> Help!

djl


glut ca a l'air pas mal, a part la portabilité, c koa l'avantage?
mardi 16 décembre 2003 à 10:28:22 | Re : pb de Z-buffer ac openGL -> Help!

neodante

Administrateur CodeS-SourceS

Neodante

C'est que c'est tout fait : ouvrir une fenêtre compatible OGL, gestion des entrées, timer, ... mais je te conseille de l'utiliser que pour tes programmes de démonstration car rien ne vaut une implémentation maison et native pour de meilleures performances !
@+
mardi 16 décembre 2003 à 11:50:39 | Re : pb de Z-buffer ac openGL -> Help!

djl


oui je vois, mais de ce coté je m'embete pas , j'utilise toujours le meme squelette win32


Cette discussion est classée dans : int, key, void, glut, glvertex3i


Répondre à ce message

Sujets en rapport avec ce message

opengl.glut : gestion clavier [ par _Jonathan ] salut a tousvoila, j'arrive pas a utiliser la fonction glutSpecialUpFunc (chui sous devc++).glutSpecialFunc marche.Si kelkun pourrai m'expliker : ---- opengl/glut Gestion du clavier (plusieurs touches) [ par gravel ] Bonjours, je cherche un moyen de géré plusieur touche en meme temps. j'ai chercher un peux partout lit beaucoup de document sur la gestion du clavier OpenGL avec GLUT please help [ par mondrone ] Je viens d'essayer de recopier tel quel un tutorial qu'on m'avait donné sur le net. J'arrive à obtenir ce que je suis censé avoir, pendant environ 1/1 Pavé tournant [ par nisaloncaje ] Bonjour, je désirais pour commencer en OpenGL sous devc++ faire un programme simulant un pavé tournant autour de l'axe y : voici mon code source :#inc Problème avec les polygones [ par nisaloncaje ] Bonjour, j'ai le code source suivant : #include #include double a=0,inca=0.1; /* Prototype des fonctions */void affichage();void clavier(unsigned erreur de mémoire mais je trouve pas le bug [ par dybman ] Voici le code qui pose problème:Je pense que la valeur Key prend de trop grande valeur et fais un dépassement de mémoire tampon mais je trouve pas le Dessiner un pixel sur le bureau [ par debutant VB ] Bonjour tout le monde.Je débute en C++, et j'ai un petit problème :J'ai fait un petit programme qui devrai dessiner un point rouge sur le bureaumais ç jeux d'échec qui nous met en échec!! [ par shinohinata01 ] Bonjour,nous rencontrons actuellement un problème sur un de nos programmes qui traite d'un jeux d'échec.en gros nous avons une fonction dans une class recherche aide SVP [ par gelloula ] J 'ai un projet à faire en borlandc en mode BGI, Je suis encore une debutante et je bloque là dessus depuis une semaine. Classe contenant vecteur template [ par val3113 ] Bonjour,Je suis sur un programme cpp sous linux. J'ai créé une classe template "Vecteur" qui est censée pouvoir recevoir plusieurs types dont des clas


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,562 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales