1. What is usually the best texture format for upload?
Answers:
• GL_UNSIGNED_BYTE
•
GL_UNSIGNED_SHORT
•
GL_UNSIGNED_INT_8_8_8_8_REV
• GL_INT
• GL_FLOAT
2. What is vsync?
Answers:
• Synchronization
with vertex arrays
• Synchronization
with the monitor refresh rate
• Synchronization
with VBO
• Synchronization
with the windows server
• None of the
above
3. If the viewport is 1024 by 768, the projection matrix is a 45 degree perspective matrix with the viewport ratio and the modelview matrix is the identity, what will be drawn on the screen when the following drawing code is entered?
void draw (void)
{
glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glMatrixMode (GL_MODELVIEW);
glLoadIdentity ();
glTranslatef (0, 0, -10);
glColor3f (1.0, 1.0, 0.0);
glBegin (GL_QUADS);
glVertex2i (1, 0);
glVertex2i (1, 1);
glVertex2i (-1, 1);
glVertex2i (-1, 0);
glEnd ();
glFlush ();
}
Answers:
• Yellow lines
• Yellow square
• Yellow rectangle
• This code is an
invalid drawing function
• None of the
above
4. Which of the following is typically applied to the modelview matrix stack?
Answers:
• glFrustrum
• glRotate
• gluPerspective
• glOrtho
• gluOrtho2d
5. What is the difference between glLoadTransposeMatrix and glLoadMatrix?
Answers:
•
glLoadTransposeMatrix does not require any argument to transpose the matrix on
top of the stack wheras glLoadMatrix does
•
glLoadTransposeMatrix transposes the given matrix before loading it wheras
glLoadMatrix does not
•
glLoadTransposeMatrix loads the matrix in the transpose area of the GPU wheras
glLoadMatrix does not
• None of the
above
6. Is the following a valid drawing function?
void draw (void)
{
glClear (GL_COLOR_BUFFER_BIT);
glMatrixMode (GL_PROJECTION);
glLoadIdentity ();
glPushMatrix ();
gluPerspective (45.0, (float)frame.size.width / (float)frame.size.height,
2.0, 1000.0);
glMatrixMode (GL_MODELVIEW);
glLoadIdentity ();
glTranslatef (0, 0, -10);
glColor3f (1.0, 1.0, 0.0);
glBegin (GL_QUADS);
glVertex2i (1, 0);
glVertex2i (1, 1);
glVertex2i (-1, 1);
glVertex2i (-1, 0);
glEnd ();
glFlush ();
}
Answers:
• Yes
• No
7. What is gl_Vertex in a vertex shader?
Answers:
• An attribute
• An uniform
• A varying
• A constant
• None of the
above
8. Which values can be used with glTexParameter and GL_TEXTURE_MAG_FILTER parameter names?
Answers:
• GL_NEAREST
• GL_FAR
• GL_BILINEAR
• GL_LINEAR
• GL_MIPMAP
9. Is the following code correct?
glBegin (GL_QUADS);
glVertex2i (1, 0);
glVertex2i (1, 1);
glVertex2i (-1, 1);
glVertex2i (-1, 0);
glEnd (GL_QUADS);
Answers:
• Yes
• No
10. In which version of OpenGL, GLSL was introduced as a core feature?
Answers:
• 1.1
• 1.2
• 1.3
• 2.0
• 2.1
11. Is gluBeginPolygon the same as glBegin(GL_POLYGON)?
Answers:
• Yes
• No
12. Which of the following might be used to draw VBOs?
Answers:
• glDrawArrays
•
glDrawRangeElements
• glDrawElements
• glDrawVBO
• None of the
above
13. What is the common size of OpenGL matrices?
Answers:
• 2x2
• 3x3
• 4x4
• 3x4
• 4x3
14. What is true of the following code?
glPushMatrix ();
glLoadIdentity ();
glTranslatef (1.0, 2.0, 4.0);
glPopMatrix ();
Answers:
• After this code
has been executed, the matrix stack will be restored to its original state.
• This code has a
syntax error.
• Load identity
cannot appear after a push matrix.
• None of the
above is true
15. Who created OpenGL?
Answers:
• Sun
• Microsoft
• SGI
• Apple
• Dell
16. What is true of OpenGL?
Answers:
• It is a pixel
precise specification
• It has numerous
implementations
• It can be fully
implemented in software
• None of the
above is true
17. What is the first argument of glRotate?
Answers:
• The angle in
radians
• The angle in
degrees
• The center
vector
• None of the
above
18. What is the difference between statements A and B?
A: gl_Position = gl_ProjectionMatrix * gl_ModelViewMatrix * gl_Vertex;
B: gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
Answers:
• They are
equivalent
• The former has a
syntax error whereas the latter has not any
• The former is
valid whereas the latter is not
• None of the
above
19. Is the following a valid drawing function?
void draw (void)
{
glClear (GL_COLOR_BUFFER_BIT);
glBegin (GL_QUADS);
glVertex2i (1, 0);
glVertex2i (1, 1);
glVertex2i (-1, 1);
glVertex2i (-1, 0);
glEnd ();
glFlush ();
}
Answers:
• Yes
• No
20. Which primitives may be used to draw a circle?
Answers:
• Polygon
• Lines
• Quads
• Triangles
• None of the
above
21. In Windows, what API will you use to get an OpenGL context?
Answers:
• agl
• wgl
• glX
• None of the
above
22. With depth test enabled, will the following drawing code work for depth testing?
void draw (void)
{
glClear (GL_COLOR_BUFFER_BIT);
glPolygonMode (GL_FRONT_AND_BACK, GL_LINE);
glMatrixMode (GL_MODELVIEW);
glLoadIdentity ();
glTranslatef (0, 0, -10);
glColor3f (1.0, 1.0, 0.0);
glBegin (GL_QUADS);
glVertex2i (1, 0);
glVertex2i (1, 1);
glVertex2i (-1, 1);
glVertex2i (-1, 0);
glEnd ();
glFlush ();
}
Answers:
• Yes
• No
23. How do you initialize the name stack?
Answers:
• Using
glCreateStack ()
• Using
glInitNames ()
• Using
glPushMatrix ()
• None of the
above
24. What is the purpose of glTexCoord?
Answers:
• To specify the
origin and size of a texture
• To associate a
texture coordinate with a vertex or raster position
• To generate a UV
map from a 3D model
• To generate a
coordinate grid for the current texture
• None of the
above
25. What is the default parameter qualifier?
Answers:
• none
• in
• out
• inout
• None of the
above
26. In Linux, what API will you use to get an OpenGL context?
Answers:
• agl
• wgl
• glX
• None of the
above
27. What is the primary language of OpenGL?
Answers:
• C++
• C
• Ruby
• Perl
• Java
28. Which of the following is not an OpenGL primitive?
Answers:
• Point
• Polygon
• Circle
• Quad
• Triangle
29. What is/are the return type/s of glGetx () ?
Answers:
• int
• It/they depend/s
on the function
• void
• float
• vector
30. Is glFinish blocking?
Answers:
• Yes
• No
31. After a glRenderMode (GL_SELECT), no fragment are produced.
Answers:
• True
• False
32. Is there any non-structured flow of control like "goto" in GLSL?
Answers:
• Yes
• No
33. What will be drawn by the following code?
glBegin (GL_QUADS);
glVertex2i (1, 0);
glVertex2i (1, 1);
glVertex2i (-1, 0);
glEnd ();
Answers:
• A quad
• A polygon
• A line
• This code is
invalid
• None of the
above
34. Which color is defined by the following call?
glColor3ub (0, 255, 0);
Answers:
• red
• blue
• green
• gray
• white
35. When glMultMatrix takes a matrix, how should it be ordered?
Answers:
• Row-major
• Column-major
• Mixed mode
• None of the
above
36. Consider the following code:
glTranslatef (1.0, 2.0, 3.0);
glRotatef (40, 1.0, 0.0, 0.0);
What will be the first transformation from a geometric point of view?
Answers:
• Translation
• Rotation
37. Which function should be used to upload a 2D texture to OpenGL?
Answers:
• glUploadTex
• glTexCreate2D
• glTexImage2D
• glBuildTexture2D
• glTexture
38. What does glClear do?
Answers:
• It clears all
OpenGL buffers
• It clears the
OpenGL buffers specified in an argument
• It sets the
window color to black
• None of the
above
39. Which of the following is not a valid argument to glBegin ()?
Answers:
• GL_POINTS
• GL_LINES
• GL_LINE_STRIP
• GL_TRIANGLES
• GL_QUADS_FAN
40. On what language is GLSL syntax based?
Answers:
• ruby
• C
• python
• Objective-C
• None of the
above
41. Can glNormal be called between glBegin and glEnd ?
Answers:
• Yes
• No
42. What will happen if you do the following?
glMatrixMode (GL_PROJECTION);
glRotatef (10, 1, 0, 0);
Answers:
• A bus error will
result
• An OpenGL error
will result
• A rotation
matrix is multiplied with the current projection matrix
• The projection
matrix will be filled with garbages
• None of the
above
43. When a matrix has been popped from the stack, is it possible to read it again?
Answers:
• Yes, in the
backbuffer
• Yes, with the
matrix history
• Yes, by pushing
an empty matrix
• No
44. What does glGetMinmax do?
Answers:
• It gets minimum
and maximum vertex values
• It gets minimum
and maximum surface values
• It gets minimum
and maximum texture values
• It gets minimum
and maximum pixel values
• None of the
above
45. OpenGL can draw convex polygons. Can it draw non-convex ones?
Answers:
• Yes
• No
46. What will be the size of the quad drawn by the following code on the screen?
glBegin (GL_QUADS);
glVertex2i (1, 0);
glVertex2i (1, 1);
glVertex2i (-1, 1);
glVertex2i (-1, 0);
glEnd ();
Answers:
• 1 pixel
• 1 cm
• 1 inch
• It depends on
the projection and modelview matrices
• None of the
above
47. Which of the following functions has an unsigned byte variant? (taking GLubyte as arguments)
Answers:
• glVertex
• glColor
• glNormal
• glTexCoord
• None of the
above
48. Does gluProject use the current matrix stack?
Answers:
• Yes
• No
49. What does glPassThrough() do?
Answers:
• It passes
polygon through the depth buffer
• It loads the
accumulation buffer
• It places a
marker in the feedback buffer
• It loads a
texture
• None of the
above
50. What is a proxy texture?
Answers:
• A server side
texture
• A texture
without pixel data
• A 3d texture
• None of the
above
51. How can you access the current modelview matrix?
Answers:
• With
glModelviewMatrix
• With glGetMatrix
• With
glReadMatrix
• With glStack
• None of the
above
52. What is a display list?
Answers:
• A buffer object
• A list of
commands
• A list of
vertices
• None of the
above
53. Which of the following are valid picking methods?
Answers:
• Back buffers
• Select buffers
• Automatic
selection
• Render buffers
• None of the
above
54. What image format does OpenGL understand?
Answers:
• png
• bmp
• tiff
• tga
• OpenGL cannot
read images directly
55. Which function should be used to specify the coordinates of a point?
Answers:
• glPoint
• glCoord
• glVertex
• glPointCoord
• None of the
above
56. glOrtho is used to define a _________ matrix.
Answers:
• modelview
• projection
• texture
• view
• model
57. What does glFrustum do?
Answers:
• It multiplies
the current matrix by a translation matrix
• It multiplies
the current matrix by a perspective matrix
• It multiplies
the current matrix by a texture matrix
• It multiplies
the current matrix by a color matrix
• None of the
above
58. Which of the following is faster?
Answers:
• glBegin,
glVertex, etc.
• Vertex buffer
objects
• Vertex arrays
• None of the
above
59. What does glActiveTexture do?
Answers:
• It changes the
active texture unit
• It queries the
active texture unit
• It overrides the
current texture unit
• None of the
above
60. What should be added to make this drawing function valid?
void draw (void)
{
glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glTranslatef (0, 0, -10);
glColor3f (1.0, 1.0, 0.0);
glBegin (GL_QUADS);
glVertex2i (1, 0);
glVertex2i (1, 1);
glVertex2i (-1, 1);
glVertex2i (-1, 0);
glEnd ();
glFlush ();
}
Answers:
• It is already
valid
• glPushMatrix ()
• glLoadIdentity
()
• glPopMatrix ()
• None of the
above
61. Which color is defined by the following call?
glColor3f (1.0, 0.0, 0.0);
Answers:
• blue
• gray
• white
• red
• green
62. Is the following code valid?
glMatrixMode (GL_MODELVIEW);
glLoadIdentity ();
glTranslatef (0, 0, -10);
Answers:
• Yes
• No
63. Which function should be used to specify the value of a sampler1D?
Answers:
• glSampler1D
• glSamplerUniform
• glUniform1i
• glSetSampler
• None of the
above
64. What should be the render mode to use glLoadName ()?
Answers:
• GL_RENDER
• GL_SELECT
• GL_FEEDBACK
• None of the
above
65. What does glBitmap do?
Answers:
• It loads a
bitmap file
• It loads a png
file
• It draws a
bitmap
• It creates a
texture
• None of the
above
66. What is a varying variable?
Answers:
• A variable
passed from the C code to the vertex shader
• A variable
passed from the C code to the fragment shader
• A variable
passed from the vertex shader to the fragment shader
• A variable
passed from the fragment shader to the vertex shader
• None of the
above
67. What is blending?
Answers:
• Texturing
• Layer
composition
• Geometry
transformation
• None of the
above
68. Which of the following is not a valid argument to glMatrixMode ?
Answers:
• GL_COLOR
• GL_PROJECTION
• GL_TEXTURE
• GL_DEPTH
• GL_MODELVIEW
69. What does gluOrtho2D do?
Answers:
• It sets the eye
position
• It defines a
projection matrix
• It defines a
modelview matrix
• None of the
above
70. What will be drawn by the following code?
glBegin (GL_QUADS);
glVertex2i (1, 0);
glVertex2i (1, 1);
glVertex2i (-1, 0);
glVertex2i (-1, 1);
glEnd ();
Answers:
• A quad
• A triangle
• Two lines
• A circle
• None of the
above
71. On which matrix stack should gluOrtho2D be used?
Answers:
• Texture
• Color
• Modelview
• Projection
72. Which of the following buffer types is/are supported in OpenGL?
Answers:
• Stencil
• Color
• Depth
• Accumulation
• All of the above
73. The matrix, after the following calls, will be the identity matrix.
glLoadIdentity ();
glTranslatef (0, 0, -10);
glRotatef (40, 1, 0, 0);
glTranslatef (0, 0, 10);
glRotatef (-40, 1, 0, 0);
Answers:
• True
• False
74. What will happen if a null pointer is used with glTexImage2D()? (In OpenGL >1.1)
Answers:
• An error will occur
• Undefined
behaviour wil result
• The texture
space will be allocated for future use with sub-textures
• None of the
above
75. On which matrix stack should gluLookAt be used?
Answers:
• Texture
• Projection
• Modelview
• Color
76. OpenGL has some windows manipulation functions.
Answers:
• True
• False
77. Can you read a uniform value from the C code?
Answers:
• Yes
• No
78. Can "discard" be used in a vertex shader?
Answers:
• Yes
• No
No comments:
Post a Comment