3.B] Explain different OpenGL routines used for manipulating the display window.
Answer:-
OpenGL Routines for Manipulating the Display Window
1. glViewport
Purpose: Defines the portion of the window where the rendering will take place.
Usage: Sets up the viewport dimensions, which specify how OpenGL coordinates map to window coordinates.
void glViewport(GLint x, GLint y, GLsizei width, GLsizei height);
Example:
glViewport(0, 0, 800, 600); // Set viewport to cover the entire window
2. glScissor
Purpose: Defines a rectangular region of the window where rendering can occur.
Usage: Restricts drawing to a specific area using the scissor box.
void glScissor(GLint x, GLint y, GLsizei width, GLsizei height);
Example:
glEnable(GL_SCISSOR_TEST); // Enable scissor test
glScissor(100, 100, 400, 300); // Set scissor box
3. glClear
Purpose: Clears the buffers to preset values.
Usage: Typically called at the beginning of the rendering process to prepare the window for drawing.
void glClear(GLbitfield mask);
Example:
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Clear color and depth buffers
4. glClearColor
Purpose: Sets the color used when clearing the color buffer.
Usage: Defines the clear color used by glClear
.
void glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
Example:
glClearColor(0.0f, 0.0f, 0.0f, 1.0f); // Set clear color to black
5. glFlush
Purpose: Forces the execution of all previously issued OpenGL commands.
Usage: Ensures that rendering commands are processed immediately.
void glFlush(void);
6. glFinish
Purpose: Blocks until all OpenGL commands are finished executing.
Usage: Ensures that all rendering commands are complete before continuing.
void glFinish(void);
7. glDrawBuffer
Purpose: Selects the color buffer to which subsequent drawing commands will be directed.
Usage: Allows you to specify which color buffer (e.g., front, back) to draw to.
void glDrawBuffer(GLenum mode);
Example:
glDrawBuffer(GL_BACK); // Draw to the back buffer
8. glReadBuffer
Purpose: Specifies which color buffer to read from.
Usage: Determines the color buffer from which pixels will be read (e.g., front, back).
void glReadBuffer(GLenum mode);
Example:
glReadBuffer(GL_FRONT); // Read from the front buffer