I've managed to make a lot of progress with my rendering of 3D stuff. Managed to get a 2D HUD to display over my 3D world. And now I'm stuck on the problem of placing a 3D model onto the HUD.
Basically I'm "Poping Up" a dialog box as a HUD over the top of the scene. I want to display a rotating model in the dialog box. When I try and do this though, I don't get a model
Here is basically what I'm doing right now (note: I'm mainly using display lists since in the end this is for OpenGLES):
Code:
glLoadIdentity();
glTranslatef(0, 0, -6);
glPushMatrix();
glTranslatef(-1.5, 0, 0);
glRotatef(yrot,1.0,0.0,0.0);
glRotatef(xrot,0.0,1.0,0.0);
fBox.Render;
glPopMatrix();
glPushMatrix();
glTranslatef(1.5, 0, 0);
glRotatef(-rotation,0.0,1.0,0.0);
fObj2.Render;
glPopMatrix();
GLHUD.Begin2D;
glEnable(GL_TEXTURE_2D);
img.Bind;
glBegin(GL_QUADS);
// This will be converted to a set of display lists when complete
glTexCoord2f(0, 0);
glVertex2d(0, 200);
glTexCoord2f(1, 0);
glVertex2d(Engine.Width, 200);
glTexCoord2f(1, 1);
glVertex2d(Engine.Width, Engine.Height);
glTexCoord2f(0, 1);
glVertex2d(0, Engine.Height);
glEnd();
glDisable(GL_TEXTURE_2D);
GLHUD.End2D;
glPushMatrix();
glTranslatef(2, -1.5, 0);
glScalef(0.5, 0.5, 0.5);
fBox.Render;
glPopMatrix();
The .Render calls simply call glCallList(FGLCallList) with the proper list id.
Anyone have an example of placing a 3D model over the top of the HUD?
- Jeremy
Bookmarks