These OpenGL multiple-choice questions and their answers will help you strengthen your grip on the subject of OpenGL. You can prepare for an upcoming exam or job interview with these OpenGL MCQs.
So scroll down and start answering.

1: What is the significance of i,f,v,d... in function naming conventions found in OpenGL?

A.   Specify the expected parameter types (int, float, pointer, double, etc.)

B.   Specify the target type for variables written by OpenGL on the CPU-side only

C.   OpenGL's naming conventions vary and must be examined in the specification for the version you are using

D.   Specify the output target (immediate mode, frame buffer, virtual mode, double-buffer, etc.)

2: What two options can be provided to glShadeModel()?



C.   UP and DOWN



3: Does OpenGL have an official camera?

A.   Yes.

B.   No.

4: What kind of vertex array is NOT provided by OpenGL?

A.   Colors

B.   Normals

C.   Polygons

D.   Verticies

5: What is the dimensions of a 3D transformation matrix?

A.   2x2

B.   3x3

C.   4x4

D.   3x4

6: Generally, what primitive polygon is used for creating a mesh to represent a complex object?

A.   Triangle

B.   Square

C.   Rectangle

D.   Circle

7: Does OpenGL use a client-server model and a state machine?

A.   Yes

B.   No

C.   Irrelevant

8: What kind of data is stored in a VBO?

A.   Context-sharing Information

B.   Vertices

C.   Fragments

D.   Configuration Settings

E.   Pixels

9: What should be done to rotate around a point that is not the origin?

A.   Perform a glRotate and specify the point to rotate around.

B.   Translate to origin, rotate about origin, then translate back to original position.

C.   Rotations can only be performed around the origin.

10: What kind of polygons work best in a VBO intended for modeling a solid?

A.   Quads, N-gons and unilateral N-gons

B.   Triangles, quads and N-gons

C.   Triangles, Triangle Strips and Triangle Fans

D.   Line strips

E.   N-gonal coplanar line strips

11: In OpenGL, what is a "stencil buffer"?

A.   The act of swapping buffers done natively on the hardware

B.   A special type of buffer used only to draw text

C.   A low-resource buffer used for accumulating fragments from a rendering to "cut out" another accumulated render

D.   A high-bandwidth buffer used for fragmenting images into accumulation buffers

12: What does Open GLSL stand for?

A.   Graphical Library of Shader Languages

B.   Graphics Library Shader Language

C.   Graphical Language and Shading Library

D.   Geographic Land and Survey Library

13: What is a transformation?

A.   Mathematical operation used to create a desired behavior for points and objects.

B.   Switching between different buffers.

C.   A function supplied by OpenGL that can morph one polygon to another.

14: Are there some OpenGL routines that cannot be stored in a display list?

A.   No

B.   Yes

15: What components make up a light source in OpenGL?

A.   Diffuse, Specular, and Ambient.

B.   Diffuse, Opaque, Ambient.

C.   Diffuse and Ambient.

D.   Specular and Ambient.

16: If a coordinate system (CS1) is transformed to another coordinate system (CS2) using a matrix M, is it possible to go from CS2 to CS1 and how?

A.   No, once a coordinate system is transformed, it cannot be reversed.

B.   Yes, apply inverse of M.

C.   Yes, call glReversCS() with CS2 and M as parameters.

D.   Yes, apply M again.

17: What are the valid operations provided to glStencilOp?


B.   Any number between 0 and 255




18: What does glMaterialf(...) do?

A.   Gets the current material properties of a drawn object.

B.   Defines the material properties of a drawn object for visual effects.

C.   Switches to material mode to add visual effects.

D.   Turns material properties on.

19: When animating, OpenGL provides:

A.   A complete suite of tools and downloadable applications for making classic 2D and 3D animation right out of the box

B.   Accumulation buffers, frame-buffer objects, VBOs, depth and stencil buffers, blending modes, and other types of buffers that allow a developer to achieve the desired effect

C.   No way to draw pixels on the screen

D.   FBOs, VBOs, VAOs and integer-related functions such as glFrameNumber and glMovieType

20: Can you specify the location of a light source in OpenGL?

A.   Sometimes

B.   Yes

C.   No

21: What is the difference between glColor3d and glColor3f?

A.   glColor3d is in real space, glColor3f is in integer space

B.   glColor3d allows 3d color operations, while glColor3f only allows 8-bit

C.   glColor3d only sets RGB, while glColor3f sets R,G,B and A

D.   glColor3d takes double arguments, while glColor3f takes float arguments

22: If lighting is disabled, which function specifies the color of the vertex?

A.   None of These

B.   glDisplayfunc()

C.   glClearColor()

D.   glColor()

23: Which function call sets up the size of the output area?

A.   gluPerspective()

B.   glViewport()

C.   glDisplayfunc()

D.   None of These

24: What is an FBO?

A.   Format Byte Option

B.   Friday Buy Out

C.   Frictionless Baryonic Oscillation

D.   File Buffered Output

E.   Framebuffer Object

25: Why are many functions deprecated in the OpenGL specification?

A.   To highlight functions which one should use when programming the fixed-function pipeline in all new versions of OpenGL.

B.   OpenGL's authors at Khronos have made many mistakes and therefore deleted various functions as they released new versions, replacing older versions and making obsolete older functionality that is removed from newer versions.

C.   As newer versions are released, older versions with functionality that can be created in the newer version but faster through other methods must be deprecated but are still a part of the specification on most hardware platforms.

26: Does OpenGL support Rasterization?

A.   Yes

B.   No

27: OpenGL stands for:

A.   Open Guide Line

B.   Open Graphics Layer

C.   Open General Liability

D.   Open Graphics Library

28: glVertex is used to draw OpenGL primitives.

A.   True

B.   False

29: Is ambient light possible in OpenGL?

A.   No

B.   Sometimes

C.   Yes

30: What are "texture coordinates" used for?

A.   Texture coordinates were deprecated in 3.1 and provide OpenGL with an error message.

B.   Texture coordinates have never be used in the OpenGL specification.

C.   Texture coordinates provide OpenGL with information about polygon blitting when painting textures onto rendered geometry.

D.   Texture coordinates tell OpenGL where in GPU memory the texture is stored.

31: Opengl uses a 3D Cartesian Coordinate System.

A.   True

B.   False

32: What is a VBO?

A.   Vertex Binding Object

B.   Variable Buffer Output

C.   Vertex Buffer Object

33: Once a 2D or 3D rotation is performed, is it possible to reverse the rotation?

A.   Yes

B.   No

34: What is a "depth buffer" and what does it accumulate?

A.   A 3D scene organization chart produced by a UX designer

B.   A specialized buffer for doing underwater scenes

C.   A type of buffer that accumulates "depth" information in a 3D scene

35: What kind of data is stored in a VAO?

A.   Program asset information such as trees, lists and data types

B.   Vertex state and other ancillary data for rendering in the programmable pipeline

C.   Mainly 0s and 1s organized alphabetically

D.   Exponent information for large-scale waveform analysis

36: What do the values "R", "G", "B" and "A" mean in the context of color in OpenGL?

A.   Red, Green, Blue and Alpha channels

B.   Rotate, Gyrate, Blend and Amorphize

C.   Red, Green, Black, Auburn

37: What is a VA or VAO?

A.   Vertex Array Object

B.   Vector Addition Override

C.   Vertex Automation Output

D.   Vector Array Object

E.   Vector Array Output

38: What happens to variables that aren't used in outputs of a GLSL fragment shader?

A.   They produce excessive slow-downs in GPUs that do not adhere to the OpenGL standard, decreasing load time and increasing frame rate.

B.   They are optimized out and removed by the compiler on most platforms.

C.   They remain in memory and use resources, and are the mark of a novice developer.

39: What is the use of a shared context?

A.   To allow multiple OpenGL contexts to share the same data

B.   To allow the GPU to run multiple applications at the same time

C.   To allow networked gameplay to occur between multiple OpenGL clients

40: Does OpenGL provide modeling primitives such as a cube, cone, pyramid?

A.   Not in the official specification, but such functionality is provided by the GLUT library.

B.   Yes, but only with glEnable(GL_PRIMITIVES) called before the glBegin statement.

C.   Yes.

D.   In the official specification, but also enhanced versions provided by the GLUT library.

41: What organization is currently responsible for OpenGL's standardization and development?

A.   Khronos

B.   Chronos

C.   id Software

D.   Cryptic

E.   Crysis

42: What are the "red" book, "blue" book and "orange" book?

A.   Magazine inserts in IEEE's 1999 and 2002 editions which were written by Paul Bourke, a mathematician and philanthropist from Southern Mason University in Atlanta, GA.

B.   Three famous books ridiculed by John Carmack, founder of id Software and inventor of the graphics processor.

C.   References to the Matrix.

D.   There are several books on OpenGL, but the two most revered are the "red" and "blue" books, and the "orange" book was published to cover shader technologies by a third party.

E.   Three books written by Ken Perlin, the father of OpenGL, and published in 1971 at Luinard University, Paris, France. Dr. Perlin holds a three-time doctorate in Organization Biology at the prestigious Harvard School of Medicine, but in his later years rev

43: What is the purpose of GL_REPEAT?

A.   To have a texture repeat in a direction (horizontal or vertical).

B.   To have a command repeat until stopped.

C.   To repeat the last command.

D.   To enable double-buffering.

E.   To restart the application.

44: Why clear a buffer?

A.   To make it clearly visible

B.   To reset its state

C.   To approve a buffer for "publishing" to the monitor

D.   To under-run a buffer in a special hack known as "swapping buffers"

45: In order to obtain correct calculations for shading, what is the best length for normals of an object?

A.   The length does not matter.

B.   It is based on the size of the object being drawn.

C.   2

D.   1 (unit length)

46: What are the four major types of shaders available in OpenGL 4.0?

A.   Vertex, Geometry, Isomorphic and Anisotropic

B.   Geometry, Tesselation, Vertex and Fragment

C.   Filtered, Non-filtered, Exponent and Fragmented

D.   Multi-sampled, Single-sampled, Over-sampled and 16x


A.   Acronyms that help new OpenGL developers learn the ropes.

B.   A suite of open source libraries, among others, which provide valuable functionality to OpenGL programmers including context creation, extension management, and others.

C.   A suit of OpenGL playing cards made available by Khronos in 1997.

D.   Alphabet soup

E.   Special function prefixes defined in the OpenGL specification.

48: What are X,Y,Z,S,T,U and V?

A.   Optional parameters on glVertex* functions

B.   Letters of the alphabet with no special meaning

C.   Coordinate components

49: What is a "per-fragment" operation?

A.   Also known as a "per-pixel" operation (applicable in some cases), "per-fragment" more accurately describes an operation that occurs through each requested "fragment" by pipelines that deal directly with screen graphics

B.   Operations that occur logically, such as glLogicOp, which tragically fragment your application's intended output, ruining your render.

C.   A way of describing stenciled buffer operations

D.   Super-parallel operations that occur in CPU before uploading to the GPU core

50: True or False: blending functions are NOT order dependent.

A.   True

B.   False