Open GL Interview Preparation Guide
Download PDF

Open GL frequently Asked Questions by expert members with experience in Open GL. These questions and answers will help you strengthen your technical skills, prepare for the new job test and quickly revise the concepts

17 Open GL Questions and Answers:

1 :: Open GL Interview Questions Part 1:

Display lists play important role in OpenGL. What it is?
How Display lists are implemented in OpenGL?
How can we manage state of our application with display lists?
What is a BitMap? How it can be rendered in OpenGL?
Name & give syntax of methods used for reading, writing, & copying image pixel data.
Briefly explain imaging pipeline.
What do you understand by Texture mapping? What are basic steps involved in it?
What is the use case of texture arrays?
Explain usage of glTextEnv() or texturing methods.
What are main types of buffers OpenGL ecosystem consists of? Give their uses also.
Name & explain tests that can applied to individual fragments .
What is Accumulation Buffer in context of OpenGL? For what purposes it is used?
Can you name the OpenGL methods used in polygon tessellation?

2 :: Open GL Interview Questions Part 2:

Give a brief comparison between ambient, diffuse, specular, & emissive light.
Write a little code snippet for creating a light source.
What do you understand by attenuation factor? What is its role in lighting?
Name the lighting models that are available in OpenGL.
Explain the effect of diffuse & specular reflection over a material.
How to achieve lighting effects in color index mode?
What do you understand by antialiasing? Is it good to use antialiasing in our application? If yes, then why most of the applications do not use it ?
What do you understand by blending? What role it plays in rendering graphics ? How it can be implemented in OpenGL?
Write a small program to add fog effect to the application.

3 :: Open GL Interview Questions Part 3:

What is the set of operations that are needed to perform to display a 3d representation over 2d screen?
Name the major stages of vertex transformations.
Name & give syntax of general purpose transformation commands.
Explain viewing & modeling transformations briefly.
What is projection transformation? Give difference between perspective & orthographic projections.
What do you understand by color perception?
What is difference between color index mode & RGBA mode?
How do we specify color of a geometrical object in both RGBA & color index mode?
What is a shading model? Why we need it? List shading models that are available in OpenGL.
What do you understand by hidden surface removal? Name few of algorithms used for the same.

4 :: Open GL Interview Questions Part 4:

How to apply color to a geometrical object? Give the syntax of glColor3f() method.
What is difference between glColor3f() & glClearColor() ?
Under which circumstances glFlush() method is used? How it is different from glFinish()?
What kind of restrictions OpenGL imposes on primitive polygons? Why?
Specify the syntax of rendering a vertex in OpenGL.
Using glBegin() & glEnd() how do we create primitive geometric drawings such as quadrilaterals, polygons etc?
What are vertex arrays? How do they help in increasing performance of application?
What are interleaved arrays? Where they are used?
How to construct curved surfaces using polygon approximations?
Explain 3d viewing pipline.

5 :: Open GL Interview Questions Part 5:

What is OpenGL (or Open Graphics Library)? Give Brief introduction about it.
Name major competitors of OpenGL . Also give main advantages & disadvantages OpenGL have over other graphics libraries in the market.
Give the main advantages that OpenGL have over Microsoft’s proprietary Direct3D.
OpenGL is written in which language? Is it possible to implement (or use) same library in programming languages other than that?
Is OpenGL API platform independent? Is it possible to port the library to embedded systems such as mobile phones etc?
Name few OpenGL related libraries that simplifies the programming task by providing a layer of abstraction over OpenGL.
How OpenGl can be considered as a state machine?
Explain OpenGL rendering pipeline.
What is term named Rasterization means? How is it different from vector graphics?
How do we clear a window in OpenGL? Also write a code snippet for the same.

6 :: Who needs to license OpenGL? Who doesnt?

Companies which will be creating or selling binaries of the
OpenGL library will need to license OpenGL. Typical examples of
licensees include hardware vendors, such as Digital Equipment,
and IBM who would distribute OpenGL with the system software on
their workstations or PCs. Also, some software vendors, such as
Portable Graphics and Template Graphics, have a business in creating
and distributing versions of OpenGL, and they need to license OpenGL.

Applications developers do NOT need to license OpenGL. If a
developer wants to use OpenGL, that developer needs to obtain
copies of a linkable OpenGL library for a particular machine.
Those OpenGL libraries may be bundled in with the development
and/or run-time options or may be purchased from a third-party
software vendor, without licensing the source code or use of the
OpenGL(R) trademark.

Since many implementations will be a shared library on a hardware
platform, the royalty sometimes will be charged for each hardware
platform. In those cases, it would not be charged for each
application which used OpenGL.

In general, licensing a source code implementation of OpenGL
would not be useful for an application developer, because the
binary created from that implementation would not be accelerated
and optimized to run on the graphics hardware of a machine.

7 :: What are the conformance tests?

The conformance tests are a suite of programs which judge the
success of an OpenGL implementation. Each implementor is
required to run these tests and pass them in order to call their
implementation with the registered trademark OpenGL. Passing the
conformance tests ensures source code compatibility of
applications across all OpenGL implementations.

8 :: What is Silicon Graphics policy on "free"
implementations of APIs which resemble the OpenGL API?

Silicon Graphics, as licensor of the OpenGL(R) trademark, does not
permit non-licensed use of the OpenGL trademark, nor does it permit
non-licensed use of the OpenGL conformance tests. Silicon Graphics
provides a source code sample implementation of OpenGL, but only to
companies and organizations which agree to the terms and conditions of
an OpenGL license.

Silicon Graphics does give permission to others to create and distribute
their own implementations of the OpenGL API, provided they do not
state nor imply they have the right to use the OpenGL(R) trademark to
name their product, nor make claims to conformance based upon the ARB
controlled OpenGL conformance tests. Silicon Graphics agrees to allow
others to copy the OpenGL header files, as much as is necessary, for
the creation of other implementations.

Silicon Graphics is in no way associated nor endorsing these
other graphics libraries. Silicon Graphics does not make any
claims or guarantees as to the quality, performance, nor
completeness of an unlicensed library.

9 :: What is Mesa 3D and where can I get it?

The "Mesa 3-D graphics library" (or just Mesa) is a free
implementation of the OpenGL API. It has been compiled and
tested on most major Unix/X systems. All you should need is an
ANSI C compiler and X.

10 :: How does a university or research institution
acquire access to OpenGL source code?

There is a university/research institution licensing program. A
university license entitles the institution to generate binaries and
copy them anywhere, so long as nothing leaves the institution. The
OpenGL source and derived binaries can only be used for non-commercial
purposes on-campus.

A university license costs $500 US. This license provides source
code for a sample implementation of OpenGL. This source code is
best designed for porting onto a system which supports the X
Window System. You can drop this into the X Consortium's X11
server source tree and build a server with the OpenGL extension.
To do this properly, you should have the MIT source for an X
Server and some experience modifying it.

Note that this gets you a software renderer only. If your
machine includes a graphics accelerator, the sample
implementation is not designed to take any advantage of it.