Top Open GL Interview Questions
Q – 1 Are ARB meetings open to observers?
Ans- The ARB meeting will be open to observers, but we want to keep the meeting small. Currently, up to five non-voting representatives who inform the ARB secretary in advance, can observe and participate in the ARB meeting.
At any time, the ARB reserves the right to change the number of observers.
Q – 2 So if I am not a member of the ARB, am I shut out of the decision making process?
Ans- There are many methods by which you can influence the evolution of OpenGL.
1) Contribute to the comp.graphics.opengl news group. Most members of the ARB read the news group religiously.
2) Contact any member of the ARB and convince that member that your proposal is worth their advocacy. Any ARB member may present a proposal, and all ARB members have equal say.
3) Come to OpenGL ARB and speak directly to ARB.
Q – 3 How do additional members join the OpenGL ARB?
Ans- The intention is that additional members may be added on a permanent basis or for a one-year term. The one-year term members would be voting members, added on a rotating basis, so that different viewpoints (such as ISV’s) could be incorporated into new releases.
Under the by-laws, SGI formally nominates new members.
Q – 4 How does the OpenGL ARB operate logistically? When does the ARB have meetings?
Ans- ARB meetings are held about once a quarter. The meetings rotate among sites hosted by the ARB members. To learn the date and place of the next OpenGL ARB meeting, watch the news group comp.graphics.opengl for posting announcing the next “OpenGL ARB meeting”
Q – 5 What is the philosophy behind the structure of the ARB?
Ans- The ARB is intended to be able to respond quickly and flexibly to evolutionary changes in computer graphics technology. The ARB is currently “lean and mean” to encourage speedy communication and decision-making. Its members are highly motivated in ensuring the success of OpenGL.
Q – 6 Who are the current ARB members?
Ans- In alphabetical order: Digital Equipment, Evans & Sutherland, IBM, Intel, Intergraph, Microsoft, and Silicon Graphics.
Q – 7 How is the OpenGL governed? Who decides what changes can be made?
Ans- OpenGL is controlled by an independent board, the Architecture Review Board (ARB). Each member of the ARB has one vote. The permanent members of the ARB are Digital Equipment, IBM, Intel, Microsoft, and Silicon Graphics.
Additional members will be added over time. The ARB governs the future of OpenGL, proposing and approving changes to the specification, new releases, and conformance testing.
Q – 8 How does a university or research institution acquire access to OpenGL source code?
Ans- 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.
Q – 9 What is Mesa 3D and where can I get it?
Ans- 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.
Q – 10 What is Silicon Graphics policy on “free” implementations of APIs which resemble the OpenGL API?
Ans- 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.
Q – 11 What are the conformance tests?
Ans- 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.
Q – 12 Who needs to license OpenGL? Who doesnt?
Ans- 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.
Q – 13 Open GL Interview Questions Part 5:
Ans- 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.
Q – 14 Open GL Interview Questions Part 4:
Ans- 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.
Q – 15 Open GL Interview Questions Part 3:
Ans- 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.
Q – 16 Open GL Interview Questions Part 2:
Ans- 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.
Q – 17 Open GL Interview Questions Part 1:
Ans- 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?