Elance OpenGL Test Answers 2015
·
What is the significance of i,f,v,d... in
function naming conventions found in OpenGL?
OpenGL's naming conventions vary and must be
examined in the specification for the version you are using
Specify the expected parameter types (int, float,
pointer, double, etc.)
Specify the target type for variables written by
OpenGL on the CPU-side only
Specify the output target (immediate mode, frame
buffer, virtual mode, double-buffer, etc.)
What two options can be provided to
glShadeModel()?
DEPTH and STENCIL
WIDE and NARROW
FOREGROUND and BACKGROUND
UP and DOWN
SMOOTH and FLAT
What is the dimensions of a 3D transformation
matrix?
2x2
4x4
3x3
3x4
Can you specify the location of a light source
in OpenGL?
No
Sometimes
Yes
What is a VA or VAO?
Vector Array Object
Vertex Automation Output
Vertex Array Object
Vector Array Output
Vector Addition Override
What should be done to rotate around a point
that is not the origin?
Translate to origin, rotate about origin, then
translate back to original position.
Rotations can only be performed around the origin.
Perform a glRotate and specify the point to rotate
around.
What does Open GLSL stand for?
Graphical Library of Shader Languages
Geographic Land and Survey Library
Graphics Library Shader Language
Graphical Language and Shading Library
What does glMaterialf(...) do?
Turns material properties on.
Defines the material properties of a drawn object
for visual effects.
Switches to material mode to add visual effects.
Gets the current material properties of a drawn
object.
Are there some OpenGL routines that cannot be
stored in a display list?
No
Yes
In OpenGL, what is a "stencil
buffer"?
The act of swapping buffers done natively on the
hardware
A low-resource buffer used for accumulating
fragments from a rendering to "cut out" another accumulated render
A high-bandwidth buffer used for fragmenting images
into accumulation buffers
A special type of buffer used only to draw text
What kind of polygons work best in a VBO
intended for modeling a solid?
Triangles, Triangle Strips and Triangle Fans
Triangles, quads and N-gons
Quads, N-gons and unilateral N-gons
N-gonal coplanar line strips
Line strips
What components make up a light source in
OpenGL?
Specular and Ambient.
Diffuse, Specular, and Ambient.
Diffuse and Ambient.
Diffuse, Opaque, Ambient.
What kind of data is stored in a VBO?
Configuration Settings
Vertices
Context-sharing Information
Pixels
Fragments
When animating, OpenGL provides:
A complete suite of tools and downloadable
applications for making classic 2D and 3D animation right out of the box
FBOs, VBOs, VAOs and integer-related functions such
as glFrameNumber and glMovieType
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
No way to draw pixels on the screen
What are the valid operations provided to
glStencilOp?
GL_KEEP, GL_ZERO,GL_REPLACE, GL_INCR, GL_INCR_WRAP,
GL_DECR, GL_DECR_WRAP, GL_INVERT
Any number between 0 and 255
TRUE or FALSE
GL_R, GL_G, GL_B, GL_RGB, GL_RGBA, GL_ARGB, GL_BGRA
GL_ZERO, GL_ONE, GL_SRC_ALPHA, GL_DST_ALPHA,
GL_FORE, GL_BACK
What is a transformation?
Switching between different buffers.
A function supplied by OpenGL that can morph one
polygon to another.
Mathematical operation used to create a desired
behavior for points and objects.
Generally, what primitive polygon is used for
creating a mesh to represent a complex object?
Square
Circle
Triangle
Rectangle
If lighting is disabled, which function
specifies the color of the vertex?
glClearColor()
glDisplayfunc()
glColor()
None of These
What is the difference between glColor3d and
glColor3f?
glColor3d only sets RGB, while glColor3f sets R,G,B
and A
glColor3d allows 3d color operations, while glColor3f
only allows 8-bit
glColor3d takes double arguments, while glColor3f
takes float arguments
glColor3d is in real space, glColor3f is in integer
space
What is an FBO?
File Buffered Output
Frictionless Baryonic Oscillation
Friday Buy Out
Format Byte Option
Framebuffer Object
Which function call sets up the size of the
output area?
glViewport()
gluPerspective()
None of These
glDisplayfunc()
Why are many functions deprecated in the
OpenGL specification?
To highlight functions which one should use when
programming the fixed-function pipeline in all new versions of OpenGL.
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.
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.
Is ambient light possible in OpenGL?
Yes
Sometimes
No
What are "texture coordinates" used
for?
Texture coordinates tell OpenGL where in GPU memory
the texture is stored.
Texture coordinates were deprecated in 3.1 and
provide OpenGL with an error message.
Texture coordinates provide OpenGL with information
about polygon blitting when painting textures onto rendered geometry.
Texture coordinates have never be used in the
OpenGL specification.
Does OpenGL support Rasterization?
Yes
No
OpenGL stands for:
Open General Liability
Open Graphics Library
Open Guide Line
Open Graphics Layer
Opengl uses a 3D Cartesian Coordinate System.
False
True
Once a 2D or 3D rotation is performed, is it
possible to reverse the rotation?
Yes
No
glVertex is used to draw OpenGL primitives.
True
False
What kind of data is stored in a VAO?
Exponent information for large-scale waveform
analysis
Program asset information such as trees, lists and
data types
Mainly 0s and 1s organized alphabetically
Vertex state and other ancillary data for rendering
in the programmable pipeline
What happens to variables that aren't used in
outputs of a GLSL fragment shader?
They produce excessive slow-downs in GPUs that do
not adhere to the OpenGL standard, decreasing load time and increasing frame
rate.
They are optimized out and removed by the compiler
on most platforms.
They remain in memory and use resources, and are
the mark of a novice developer.
What is the use of a shared context?
To allow multiple OpenGL contexts to share the same
data
To allow networked gameplay to occur between
multiple OpenGL clients
To allow the GPU to run multiple applications at
the same time
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?
Yes, apply M again.
Yes, apply inverse of M.
No, once a coordinate system is transformed, it
cannot be reversed.
Yes, call glReversCS() with CS2 and M as
parameters.
What is a VBO?
Vertex Binding Object
Vertex Buffer Object
Variable Buffer Output
What is a "depth buffer" and what
does it accumulate?
A type of buffer that accumulates "depth"
information in a 3D scene
A 3D scene organization chart produced by a UX
designer
A specialized buffer for doing underwater scenes
Does OpenGL provide modeling primitives such
as a cube, cone, pyramid?
Yes, but only with glEnable(GL_PRIMITIVES) called
before the glBegin statement.
In the official specification, but also enhanced
versions provided by the GLUT library.
Not in the official specification, but such
functionality is provided by the GLUT library.
Yes.
Does OpenGL use a client-server model and a
state machine?
Irrelevant
Yes
No
What are the "red" book,
"blue" book and "orange" book?
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 revealed his interests in biological
sciences as being and adjunct to computer graphics.
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.
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.
Three famous books ridiculed by John Carmack,
founder of id Software and inventor of the graphics processor.
References to the Matrix.
Does OpenGL have an official camera?
No.
Yes.
What organization is currently responsible for
OpenGL's standardization and development?
Khronos
Crysis
Cryptic
Chronos
id Software
What is the purpose of GL_REPEAT?
To have a texture repeat in a direction (horizontal
or vertical).
To repeat the last command.
To enable double-buffering.
To restart the application.
To have a command repeat until stopped.
In order to obtain correct calculations for
shading, what is the best length for normals of an object?
2
1 (unit length)
The length does not matter.
It is based on the size of the object being drawn.
Why clear a buffer?
To approve a buffer for "publishing" to
the monitor
To under-run a buffer in a special hack known as
"swapping buffers"
To reset its state
To make it clearly visible
What are the four major types of shaders
available in OpenGL 4.0?
Filtered, Non-filtered, Exponent and Fragmented
Geometry, Tesselation, Vertex and Fragment
Multi-sampled, Single-sampled, Over-sampled and 16x
Vertex, Geometry, Isomorphic and Anisotropic
What does glViewport do?
Sets the active viewport from one of the off-screen
buffers.
Acquires the viewport pointer for use with the
glOrtho function.
Sets the extents of the current view.
Deactivates accumulation mode and activates the
standard viewport.
What are two types of shaders?
Fragment and polygon.
Vertex and fragment.
Vertex and polygon.
True or False: blending functions are NOT
order dependent.
False
True
In the best practice, what code should appear
at the top of a GLSL shader?
There is no best practice for the first line of a
GLSL shader.
void main() {
#version
#if (O_ES) precision highp; #else
<platform-specific code> #endif
What are X,Y,Z,S,T,U and V?
Letters of the alphabet with no special meaning
Optional parameters on glVertex* functions
Coordinate components
Does OpenGL provide physics, particle systems
and other real-time procedural effects out of the box?
Yes, with the Box2d extension library, a part of
the official OpenGL suite.
No.
What is the use of glGet?
To read pixels back from the screen buffer
To get specific values from the hardware context
To read pixels back from any buffer
To set specific values from the hardware context
What do the values "R",
"G", "B" and "A" mean in the context of color in
OpenGL?
Rotate, Gyrate, Blend and Amorphize
Red, Green, Black, Auburn
Red, Green, Blue and Alpha channels
What are GLUT, GLU, GLEW, GLFW, SFML, GLX,
GLEE?
Special function prefixes defined in the OpenGL
specification.
Alphabet soup
Acronyms that help new OpenGL developers learn the
ropes.
A suit of OpenGL playing cards made available by
Khronos in 1997.
A suite of open source libraries, among others,
which provide valuable functionality to OpenGL programmers including context creation,
extension management, and others.
What kind of vertex array is NOT provided by
OpenGL?
Polygons
Verticies
Colors
Normals
What happens when an object to be drawn is not
within the current viewport?
A warning is given.
It is drawn by OpenGL even though it is not seen.
It is ignored.
It is clipped from the scene and subsequently not
drawn.
What are the four types of clearable buffers?
Color, HDR, LTR, VAO
Fragment, Vertex, Vector, Color
Color, Depth, Stencil, Fragment
Color, Depth, Stencil, Accumulation
What function is required in every GLSL shader
program?
void maine() {}
int start() {}
void main() {}
void program() {}
int main() {}
What is a "per-fragment" operation?
A way of describing stenciled buffer operations
Super-parallel operations that occur in CPU before
uploading to the GPU core
Operations that occur logically, such as glLogicOp,
which tragically fragment your application's intended output, ruining your
render.
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
What is "core" versus
"compatibility" styles of writing OpenGL applications?
"Core" programmers are the ones who
created OpenGL, while "compatibility" programmers are the ones hired
by other companies to make older applications work on newer machines.
"Core" is the stuff that comes
recommended in the specification for the version you are writing for, while "compatibility"
uses deprecated functions or functions from other versions that are not
backward compatible.
"Compatibility" and "Core"
modes are the same mode, but one use gl* functions and the other uses cgl*
functions
There are nineteen different versions of OpenGL,
all of which are now listed as "compatibility" except for three that
are listed as "core"; those are dated 2/1/1997, 5/18/2002 and
8/11/2009
Does OpenGL perform clipping for objects not
within the current viewport?
Yes
No
Fill in the blank to draw this triangle:
glBegin(GL_TRIANGLES); ....(blank).... glEnd();
glDrawTriangle(x,y,z);
glVertex3i(1,2,3); glVertex3i(1,2,3);
glTexCoord2i(1,2,3);
Put your VBO binding code in there
Use 3 sets of common immediate mode functions such
as glVertex* (required), glColor*, glTexCoord*
What is glVertextPointer(...) used for?
Get a pointer to a vertex.
Select a vertex of a polygon.
Passing an array of vertices to OpenGL.
The convention followed in OpenGL to defining and
passing a pointer.
What is the dimensions of a 2D transformation
matrix?
3x3
2x2
3x4
4x4
What are EXT and ARB?
EXT and ARB functions are deprecated by default in
old versions of OpenGL, and can only be accessed with a special key
EXT and ARB functions appear in the specification,
but do not appear in actual use cases.
EXT and ARB functions are not yet integrated into
the "core" feature set and are considered experimental but candidate
What do the letters "ARB" mean in
the context of OpenGL?
Associated Rendering Buffer
Accumulation Rendering Buffer
Aligned Rendering Buffer
Architecture Review Board
Antiquated Resolution Board
How do you activate a shader program in
OpenGL?
glUserProgram(ProgramID);
glUseProgram(ProgramID);
glProgram(ProgramID);
glShader(ProgramID);
glUseShader(ProgramID);
When do you use glFlush and glFinish?
glFlush and glFinish should be called once and only
once per application. Their utility has increased over time and is required for
any OpenGL application no matter how simple (a three line demo) or complex (a
450,000 AAA video game).
You use glFlush to clear the screen and glFinish to
draw the screen to the display.
Usually around certain operations, such as during a
glReadPixel after writing, or when OpenGL must flush or finish its currently
buffered calls. Their utility has decreased over time.
Does OpenGL raise an error if a new display
list is given the same name of a previously defined display list?
No
Yes
What are the primitive types available to a
glBegin statement? Note: this question is often flagged by test takers. Read
carefully and choose wisely, there is only one correct answer.
GL_QUADS, GL_TRIANGLES, GL_LINES, GL_LINE_STRIP,
GL_QUAD_STRIP, GL_LINE_LOOP, GL_TRIANGLE_STRIP, GL_POINTS, GL_POLYGON
GL_QUAD, GL_TRIANGLE, GL_LINE, GL_LINE_STRIP,
GL_QUAD_STRIP, GL_LINE_LOOP, GL_TRIANGLE_STRIP, GL_POINT, GL_POLYGON
TRUE or FALSE
GL_START, GL_END
Which is better to use for dynmic drawing?
Coordinate Pointer
Display List
Vertex Array
Once shading is enabled, what happens to
glColor() calls?
A run-time error occurs if both are used.
They are ignored.
They function as normal.
They enhance the shading effects.
What is the purpose of a MIPMAP?
A way to store images that use 33% less space on
the GPU.
Filtered non-uniform definitions of texture space
can be resolved only using MIPMAP iconography.
Non-isotropic textures used to exhibit quality
cache behavior, a basis of non-inverted platoform microscopy, a per-fragment
compatibility mode in OpenGL.
multum in parvo; an LOD texture branching from a
main texture that assists in scaling, a basis of wavelet compression
What kind of argument is expect in a function
ending with a "v"?
An array typecasted with (GLvoid *) or in the type
indicated by the preceding letter.
Any void variable.
A GLuint *pointer.
A virtual method function pointer.
Is it possble to perform a reflection of an
object across a specified axis?
No, this functionality is not possible with the
current version of OpenGL.
Yes, with glReflect().
Yes with a simple matrix multiplication.
No, you must redraw your object reflected across
the desired axis.
The current version of OpenGL does support
materials?
TRUE, there was no need to remove materials
support.
FALSE, shaders replaced this functionality.
FALSE, ray tracing replaced this functionality.
What kind of coordinates are used in order to
represent a transformation as a matrix multiplication operation?
Homogeneous
Cartesian
Parametric
Heterogenius
What is glTexCoord*() used for?
Defines a coordinate in a texture space in which to
draw ontop of the texture.
Defining the coordinates in texture space to be
mapped to object space.
Used to define the coordinate system of a texture.
An newly added function where OpenGL supports
placing a texting window for mobile applications.
What happens in immediate mode?
OpenGL enters into an interactive mode with the
user.
Primitives can be redrawn from display lists.
Hence, no information is lost.
Once drawn, primative information is lost. To
redraw, the primatives are drawn by reexecuting the display function.
All commands are given the highest priority for
execution.
What purpose does the "Scissor Test"
serve?
To end the "Rubber Band Test"
To "cut out" a section of a buffer when
performing a copy operation.
To scale a section of a buffer.
To limit the drawing area.
How many texture units are there in OpenGL?
OpenGL provides no texture units per se, but the
term is often confused with "texel units", which refers to the number
of texture pixels stored in the accumulation buffer.
It is hardware specific and can be queried using
glGet.
It is a fractional equivalent to OpenGL's version
number.
It is hardware specific and can be queried using
glGetUnits.
Can OpenGL automatically generate texture
coordinates?
Yes
No
Which is a function NOT used for rendering vertex
arrays?
glDrawArrays()
glDrawElements()
glDisplayArray()
glArrayElement()
What does the Blend Equation do?
It tells OpenGL how to anti-alias polygons.
It tells OpenGL how to mix fragments in a logical
order.
It sets up a translucent viewport.
It provides the alpha channel with a mixing
heuristic, ignoring R,G and B values of a given fragment.
It is returned by OpenGL so a programmer can
calculate color combinations.
How many cycles does it theoretically take for
a single OpenGL call?
2
4
3
1
5
Will a PNG file directly uploaded to a GPU,
using the fixed-function pipeline, render with the expected content?
Yes.
No.
True or False, OpenGL does NOT have its own
data types for int, float, and double?
False
True
Does function deprecation stop older
applications from working with newer versions of OpenGL?
3 out of 6 times.
Yes.
No, never.
No, most of the time.
Does OpenGL use column-major order or
row-major order when representing a transformation matrix?
row-major
column-major
What do you have to do to get
"compatibility mode" in OpenGL?
glEnable(GL_COMPATIBILITY);
glEnable(GL_ALL);
glEnable(GL_COMPAT);
glDisable(GL_STRICT);
Nothing
Which is better to use for static drawing?
Display List
Vertex Array
Coordinate Pointer
What are "accumulation buffers"?
Accumulation buffers accumulate data coming from
the GPU to the graphics display when switching contexts
Accumulation buffers offer a unique way to add
color to your images
Accumulation buffers accumulate pixels in an
off-screen buffer but cannot be used outside of an OpenGL shared context
Accumulation buffers allow off-screen rendering to
occur without affecting the displayed pixels
What is the "workshop" name for the
type of geometry and texture effects used in commercial gaming as part of OpenGL
(and DirectX)?
Polygonal modeling
Geometrical polygonal modeling
Geometric pleasantness
Baked geometry
Plasticizing
What is the use of glOrtho?
It is only used to create isometric tile games.
It is the best way to set the view frustum.
glOrtho is used to create a map.
To set the extents and behavior of coordinates.
Does OpenGL support hierarchical modeling of
drawn objects?
Yes
No
What is "immediate mode"?
A frame loop that repeats once per cycle
OpenGL's mneumonic for the way of converting pixels
to HDR equivalents
A deprecated set of functions that permit the user
to quickly learn the basic building blocks of OpenGL
A type of screen mode that allows graphics to
immediately be displayed
What is the purpose of calls to
glLogicOp(GLenum opcode)?
A logical operation applied between RGBA color and
RGBA color at the corresponding location.
A logical operation applied between one buffer and
another during full-screen copying.
It serves no purpose and has been deprecated since
version 1.
A function that returns the error values from
OpenGL after performing a "GL logical operation"
What is the non-official name for
glBlendFunc(GL_SRC_ALPHA,GL_ONE)?
Masked
Subtractive
Translucency
Multiply
Additive
What happens in retained mode?
The current OpenGL state can be stored when
specified. This is useful if a command fails and execution needs to rollback to
a previous state.
OpenGL retains extra system memory for execution.
Primitives can be redrawn from display lists.
Hence, no information is lost.
Once drawn, primative information is lost. To
redraw, the primatives are drawn by reexecuting the display function.
Is a new coordinate system created with every
transformation applied, e.g., translate or rotate?
No
It depends on the transformations
Yes
Sometimes
What are the native image formats supported by
OpenGL?
OpenGL does not support any native formats.
BGRA, ARGB, RGBA, HDR and others
Next question, please.
PNG, JPG, GIF, TIFF, PCX and others
Let us scale a striaght, horizontal line by a
factor of 2 through using glScale(2.0f,0.0f,0.0f). This line consists of only 2
points, a left and right point. Which point(s) moves due to the scale
transformation?
The right.
Neither.
Both.
The left.
Which coordinate system is NOT used during
texture mapping?
Texture
Parametric
Light
World
When considering lighting, are the effects
different when there is one object versus multiple objects?
No, the lighting model in OpenGL is very simple.
Yes since multiple objects means light can bounce
off of each object and affect the scene.
Yes since the absorbtion and reflection of light is
shared among object.
What is "multisampling" and how is
it used?
Multisampling is when multiple textures are used to
create a single "megatexture"
Multisampling is a type of anti-aliasing that
allows multiple input sources to write to a single output source
Multisampling is a method of doing anti-aliasing
(and scaling) which is still in use but is deprecated
What is "pixel unpacking"?
Retrieving data from GRAM with functions such as
glReadPixel, glGetTexImage2D()
Open source mumbo-jumbo
Uncompressing image files, or uncompressing
textures in GRAM within GPU-space
Storing data in GRAM with functions such as
glDrawPixels, glTexImage2d
Real-time rendering operations that effect data
integrity in a cross-platform context
How many dimensions are supported when
performing texture mapping?
2
1
3
4
What kind of polygons can OpenGL draw?
Coplanar convex N-gons without holes
Coplanar convex N-gons with holes
Concave N-gons
Non-colinear coplanar concave N-gons
Convex and concave N-gons
What is the difference between glBlendFunc and
glBlendFuncSeparate()?
glBlendFunc does separate the s and d values
glBlendFunc and glBlendFuncSeparate are essentially
the same, but glBlendFunc provides more options and is newer, and thus not
deprecated.
Both are deprecated but glBlendFunc was deprecated
in 2002, after glBlendFuncSeparate was deprecated the year prior.
glBlendFunc is a shorter call that sets only the s
and d factors
What is the non-official name for
glBlendFunc(GL_ONE_MINUS_DST_COLOR, GL_ZERO)?
Solarize
Additive
Overlay
Multiply
Transparency
What is "pixel packing"?
Assembling pixels into network-ready packets
Retrieving data from the GPU using glReadPixels,
glGetTexImage, etc.
Storing data on the GPU using glDrawPixels,
glTexImage2D, etc
Subscribe to:
Posts (Atom)