NeHe OpenGL Lesson24 – Tokens, Extensions, Scissor Testing And TGA Loading
This sample shows us how to extract the OpenGL extensions into tokens and scissor testing.
In the masking example, I already wrote some code of loading TGA textures. But here, another TGA loading also provided.
In addition to get the OpenGL extensions, we could also get some information about our display card hardware information with OpenGL API functions. We could get the where our display card render name, vendor name, version number and extensions like this:
char* render = (char *)glGetString(GL_RENDERER)); char* vendor = (char *)glGetString(GL_VENDOR)); char* version = glGetString(GL_VERSION)); // ext seperate by ' ' space character char* ext = (char *)glGetString(GL_EXTENSIONS)
Scissor testing will let us draw something only in a rectangle area on the screen. The following code used to set up scissor testing:
glScissor(x, y, width, height); glEnable(GL_SCISSOR_TEST); // draw something here // ... glDisable(GL_SCISSOR_TEST);
glScissor defines a rectangle, called the scissor box,in window coordinates.The first two arguments,x and y,specify the lower left corner of the box.width and height specify the width and height of the box. For more details about this function, you could check to http://www.opengl.org/sdk/docs/man/xhtml/glScissor.xml.
The full source code could be downloaded from here.