Oppure

Loading
09/01/07 20:50
bonz_88
	
void render() {
glEnable(GL_DEPTH_TEST);
glClearColor(0.0,0.0,0.0,0.0);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);	
glLoadIdentity();
gluLookAt(0.0,0.0,0.3,0.0,0.0,-1.0,0.0,1.0,0.0);
glBegin(GL_TRIANGLES);
	glColor3f(1.0,0.0,0.1); //ROSSO
	glVertex3f(-0.2,0.0,0.1);
	glVertex3f(0.2,0.0,0.1);
	glVertex3f(0.0,0.15,0.1);

	glColor3f(0.0,1.0,0.0); //VERDE
	glVertex3f(-0.2,0.0,-0.1);
	glVertex3f(0.2,0.0,-0.1);
	glVertex3f(0.0,0.15,-0.1);
glEnd();
SwapBuffers(buffer);
}


Questa funzione dovrebbe visualizzare due triangoli sovrapposti. La camera è fissata nel punto (0.0,0.0,0.3) ed è diretta in direzione (0.0,0.0,-1.0). Il triangolo rosso, essendo a distanza minore dalla camera (0.2), dovrebbe stare quindi davanti al triangolo verde (che invece sta a 0.4 dalla camera), che quindi non viene visualizzato. Lanciando il programma però, ho notato che la situazione è opposta! Ovvero il triangolo verde è in primo piano mentre quello rosso ne viene coperto! Qualcuno riesce a darmi una mano?
(Dimenticavo, glDepthFunc è settato a GL_LESS per default, non l'ho modificato!).

Ultima modifica effettuata da bonz_88 09/01/07 20:53
aaa
10/01/07 11:21
Black Shadow
A me funziona, cioè, viene il rosso avanti..:-|
aaa
10/01/07 14:12
bonz_88
Riusciresti a scrivermi il tuo listato? Così provo a fare copia-incolla per vedere se funziona anche sul mio computer, è l'unica...
Ultima modifica effettuata da bonz_88 10/01/07 14:12
aaa
10/01/07 14:55
pierotofy
Prova a controllare i parametri del PIXELFORMATDESCRIPTOR.
Il mio blog: piero.dev
10/01/07 19:15
bonz_88
void SetupPixelFormat (HDC hDC)   
{
int nPixelFormat;
static PIXELFORMATDESCRIPTOR pdf = {
sizeof(PIXELFORMATDESCRIPTOR),                        
1,					 
PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER,    
PFD_TYPE_RGBA,                                 
16, //bit per pixel (2^16 colori)
0,0,0,0,0,0,                                      
0,
0,
0,
0,0,0,0,
16, //bitzbuffer                                  
0,
0,
PFD_MAIN_PLANE,
0,
0,0,0 };

nPixelFormat = ChoosePixelFormat(hDC,&pdf);                      
SetPixelFormat(hDC, nPixelFormat, &pdf); 
}


Non mi sembra che ci sia nulla di sbagliato..i bit per lo z-buffer sono gli stessi per il colore dei pixel...
aaa
11/01/07 14:23
bonz_88
Sono riuscito a risolvere il problema, ho dovuto creare un viewing volume appropriato, si vede che quello di defualt aveva dei clipping planes errati per le profondità che avevo impostato...Ringrazio comunque chi mi ha risposto!
aaa