PDA

View Full Version : Overlays in Win32?



CodeWhacker
08-15-2000, 05:52 AM
I'm doing a CAD-like machining application, and need to show a moving cursor over a part. The obvious method is to draw the cursor on a layer, but the Win32 GLUT doesn't seem to support layers. Is this a Win32 limitation or a GLUT implementation issue?

If I can't do layers, what's the best approach to the task? (I'm new to OpenGL, so please turn blowtorches to a low roast, thanks)

MikeM
08-15-2000, 09:48 AM
If you intend on doing anything even halfway serious with OpenGL, you will probably find it necessary to lose GLUT.

From everything I've read or heard, and my experience with GLUT backs this up, the GLUT toolkit is useful for demos and 'Hello World' type applications and that's about it.

Although it coddles you and protects you from the operating system, it won't be long before you'll wish you had more breathing room.

I would, however, suggest you make extensive use of the GLU functions in your code.

Good Luck,
MikeM

CodeWhacker
08-15-2000, 11:07 AM
Lose GLUT. Noted. (I'd had a feeling in that direction already, after touring some of the Super Bible samples).

Pointers to layer/overlay techniques still sought.

zed
08-15-2000, 01:31 PM
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(90*cameraZoom, winWidth/winHeight, 5, 1000);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();

draw 3d stuff

glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0,winWidth,0,winHeight,-1.0,1.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();

draw 2d stuff

Relic
08-15-2000, 09:59 PM
Having looked through the GLUT code some weeks ago to find out why the sample oversphere.c printed an error, I found that the GLUT 3.7 sources I have only support a special SGI implementation. The WIN32 part is rather empty.

Kilam Malik
08-15-2000, 09:59 PM
Layers are just a help for CAD users (thats maybe because you sought them in OpenGL). But they are not present in OpenGL directly. You have to simulate them by yourself.

Relic
08-15-2000, 10:48 PM
Kilam, this is about OpenGL overlay planes and they are well defined part of the wgl or glx environment.
Layers are controled through the bReserved flag in the pixelformatdescriptor.
AFAIK, there is no consumer level board with OpenGL overlays available, only the CAD boards have it.
BTW, don't mix this with video overlays, which are completely different.