maybe silly questions but..

I use borland builder for opengl prgs, and i notice while trying to fix a scale and lighting problem, i tried to use GL_RESCALE_NORMAL and GL_NORMALIZE. The GL_NORMALIZE work, but i get a compile error for GL_RESCALE_NORMAL. The graphcis cards drivers are opengl v1.3, so it should support this, but perhaps the problem is my gl and glu.h header files. Where can i get the latest that works with borland compilers, can anyone help.

Aslo is it a big performace hit to enable antialiasing for an opengl screen and is there a antialiasing option, that works only on the textures/model, an not between the model and background.

Also when opengl background is cleared, is it possible to clear it with a bitmap 24bit, instead of a rgb colour, and can the background be cleared repeatedly as part of an update/display fuinction, or should it be cleared only once at the opengl window intialisation.

thanks for any advice

About GL_RESCALE_NORMAL, here you can download the gl.h having all the extensions defined :
http://oss.sgi.com/projects/ogl-sample/sdk.html

However, on modern cards GL_NORMALIZE seem to be as fast, and does not have the rescale limitation (which is : it only works for uniform scaling).
Depending on your case it may or may not be useful.

About your problems with antialiasing :

  • full scene antialiasing is enabled for a complete frame, not by object.
  • to my experience, graphic cards does not antialias textures. Some recent ones may do it for alpha testing though.

About background :

  • to clear with a bitmap, draw a big quad texture mapped with the bitmap. And don’t forget to actually clear the zbuffer.
  • you can clear the background whenever you want.

Does it helps you ?

It does thanks, though im wondering, does these new header files offer features that previously you would have had to call as opengl extentions, for example i saw a tutorial on antialiasing where you had to include addtional header files and make calls to function addresses, the tutorial implied this was not a standard feature of opengl. Do these latest header files make them “standard” and you only need to use extentions for realy new cutting edge features ?

thanks for the info

Rescale normals was adde in OpenGL 1.2 so you should be fine using it as long as your OpenGL implementation is at least 1.2 (check with glGet).

Texture antialiasing is usually done by mip mapping and/or anisotropic filtering. Mipmapping is in all versions of OpenGL and anisotropic filtering is available as an extension (EXT_texture_filter_Anisotropic).

Originally posted by <spooky>:
…does these new header files offer features that previously you would have had to call as opengl extentions, for example i saw a tutorial on antialiasing where you had to include addtional header files and make calls to function addresses, the tutorial implied this was not a standard feature of opengl. Do these latest header files make them “standard”…
In fact, about extensions, there are two different parts :

  • the compile time checks : needs gl.h + glext.h so that every GL constant is defined.
  • the execution time checks : there you need to initialise GL extension functions. The same program may run on different GL implementations, some may not have this extension.

It is a bit of a mess, but there are useful libs to handle all the gl extensions inits : GLEW and some others, there is currently a poll about this on the opengl.org main page.