PDA

View Full Version : Problem with names



jirkamelich
01-02-2003, 12:29 PM
I have this source code :

glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glColor3f(0.2,0.2,1);
glLoadIdentity();

glTranslatef(0,0,-1);


//----2D MODE----//
glPushAttrib(GL_LIGHTING_BIT|GL_DEPTH_BUFFER_BIT);
glDisable(GL_LIGHTING);
glViewport(0, 0, this->Width, this->Height);
glMatrixMode(GL_PROJECTION);
glPushMatrix();
glLoadIdentity();
gluOrtho2D(0,(double)this->Width,0, (double)this->Height);
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
glLoadIdentity();

glBegin(GL_QUADS);
glVertex2f(0,100);
glVertex2f(1024,100);
glVertex2f(1024,0);
glVertex2f(0,0);
glEnd();

glMatrixMode(GL_MODELVIEW);
glPopMatrix();
glMatrixMode(GL_PROJECTION);
glPopMatrix();
glMatrixMode(GL_MODELVIEW);
glPopAttrib();
//----2D MODE----//

glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D,TextureBin[0]);

glInitNames();
glPushName(-1);

glLoadName(1);
glBegin(GL_QUADS);
glColor3f(1,1,1);
glTexCoord2f(0,1); glVertex3f(-0.1,0.1,0);
glTexCoord2f(1,1); glVertex3f(0.1,0.1,0);
glTexCoord2f(1,0); glVertex3f(0.1,-0.1,0);
glTexCoord2f(0,0); glVertex3f(-0.1,-0.1,0);
glEnd();

I have two problems.
1)
First is not so important, but i need to solve that.
The panel i draw in 2D mode, has no blue color as glColor3f(0.2,0.2,1); says.
It has the right(blue) color just in the very first frame.
2)
Second is important.
When i click whereever in he scene, selection function returns me number 0. But when i dont draw the 2d panel, its ok. I mean when i erase all the source code about it. From glPushAtribb to glPopAtribb.

V-man
01-02-2003, 05:39 PM
1) the problem comes from elsewhere most likely and by mosr likely, I mean 99.9% guarantee

2) you called PushName, but not PopName. There could be other problems that I didnt see in the code.

V-man

DFrey
01-02-2003, 08:17 PM
As for why the panel appears correct for just the first frame, it looks like you are enabling texturing after drawing it, and failing to disable it before drawing it again.

[This message has been edited by DFrey (edited 01-02-2003).]