Term
| How is information stored in a bitmap image? |
|
Definition
| Information is stored as the colour of each pixel across a 2D grid. |
|
|
Term
|
Definition
| Colour depth is the number of bits per pixel. With more bits per pixel comes more varieties of and better quality of colour. |
|
|
Term
| What are the disadvantages to using a bitmap image? |
|
Definition
Unless compressed, they have large file sizes.
They don't resize well, developing jagged edges to compensate.
Individual elements cannot be changed. |
|
|
Term
| What are the advantages to using a bitmap image? |
|
Definition
They don't need much processing.
Image processing such as smudging, blurring, and sharpening can be done easily. |
|
|
Term
| In what format are vector images stored? |
|
Definition
| Vectors are stored as a collection of shapes, the mathematical rasterisation instructions for which are what allows the computer to recreate the image. |
|
|
Term
| What values need storing for a vector image? |
|
Definition
| The only things that need storing are the colour, position, and size of each shape in a vector image. |
|
|
Term
| What are the advantages to using a vector image? |
|
Definition
They have a much smaller file size.
Each component can be selected, edited, and resized individually. |
|
|
Term
| What are the disadvantages to using a vector image? |
|
Definition
Vectors must be processed before being displayed, either through scan conversion or rasterisation.
It's hard to exactly the right image without making the image too complex. |
|
|
Term
| What is the graphical pipeline? |
|
Definition
| The process that data and commands go through when being rendered. |
|
|
Term
| What are the steps within the graphical pipeline? |
|
Definition
|
|
Term
|
Definition
| Primitive data specifies "geometric primitives", like points, lines, triangles, and polygons. |
|
|
Term
|
Definition
| Vertex data contains untransformed model vertices. |
|
|
Term
| What does the tessellation stage stage of the graphical pipeline do? |
|
Definition
| Tessellation divides models into triangles. |
|
|
Term
| What does the vertex processing stage of the graphical pipeline do? |
|
Definition
| Vertex processing processes the attributes of a vertex like position, colour, texture, and even lighting. |
|
|
Term
| What does the geometry processing stage of the graphical pipeline do? |
|
Definition
Geometry processing sees algorithms applied on the now processed/transformed vertices. One of the algorithms includes rasterisation, which takes the three points of a triangle, and their attributes, and passes them forward to the pixel processor. This applies different looks to the same mesh for a varied and natural result. E.G. Grass |
|
|
Term
| What does the pixel processing stage of the graphical pipeline do? |
|
Definition
| Pixel processing adds richness, depth, and immersion to an image. |
|
|
Term
| What does the pixel rendering stage of the graphical pipeline do? |
|
Definition
Pixel rendering determines what objects to show and hide. E.G. Occlusion, Backface culling, L.O.D. |
|
|
Term
| What are the different types of transformations? |
|
Definition
| Translations, Scale, Rotate, Reflect, Shear |
|
|
Term
|
Definition
| In 3-D graphic design, occlusion is the effect of one object in a 3-D space blocking another object from view. |
|
|
Term
| What is back-face culling? |
|
Definition
| Back-face culling determines whether a polygon of a graphical object is visible. I.E. Building interiors. The process makes rendering objects quicker and more efficient by reducing the number of polygons for the program to draw. |
|
|
Term
|
Definition
| A package of protocols (classes, functions, structures, etc) for graphical programming. |
|
|
Term
| What does a Graphical API do? |
|
Definition
| A Graphical API can perform common operations such as scan conversions, transformations, and 3D projection. |
|
|
Term
| What benefits does a Graphical API have for a programmer? |
|
Definition
| The programmer does not need to know the specifics of display hardware. |
|
|
Term
|
Definition
| Colour is perceived as the reflections of white light. Visible light is part of the EM spectrum and is characterised by wavelength and intensity. |
|
|
Term
| How do the rods in our eyes work? |
|
Definition
- Rods are sensitive to light intensity, not colour
I.E. Black and White
- Sensitive to low light levels
I.E. Night vision
- Located at the edges of the retina.
I.E. Peripheral
|
|
|
Term
| How many types of cones are there in our eyes? |
|
Definition
3 types.
- Red sensitive
- Green sensitive
- Blue sensitive
|
|
|
Term
| If all three cones are equally stimulated, what colour does light appear to be? |
|
Definition
|
|
Term
| What model is used to demonstrate the human colour vision? |
|
Definition
|
|
Term
| What is the reverse model of the RGB model? |
|
Definition
|
|
Term
| What are the three different types of colour blindness? |
|
Definition
Protanopia Deuteranopia Tritanopia |
|
|
Term
| What is an alternative solution to reducing the size of a colour palette? |
|
Definition
| Optimisation or reduction. |
|
|
Term
|
Definition
| The approximation of a colour not on the current colour palette by combining pixels of two (or more) colours that are. |
|
|
Term
| What do the letters HSL stand for in the respective colour model? |
|
Definition
| Hue, saturation, and luminosity (brightness). |
|
|
Term
| What is the definition for brightness? |
|
Definition
| The intensity of the light. |
|
|
Term
| What is the definition for saturation? |
|
Definition
| How washed out the colour is. |
|
|
Term
| What is the dominant frequency? |
|
Definition
The determinant for which colours are seen within visible light. E.G. Visible light with yellow as the dominant frequency will appear yellow. [image] Were there to be no dominant frequency - no curve to the graph - the light would look white. |
|
|
Term
| How does the printing of colour work? |
|
Definition
| Using a subtractive process. If white light is reflected off of a cyan coloured ink, the reflection has no red component. |
|
|
Term
| How many frames per second should a game have to avoid jerky motion? |
|
Definition
|
|
Term
| How many times per frame does the Game Loop iterate? |
|
Definition
|
|
Term
| What is the first step of the Game Loop? |
|
Definition
|
|
Term
| What is involved in the initialisation stage of the Game Loop? |
|
Definition
- Setting up of the graphics display.
- Initialisation of input and audio modules.
- Setting up of network components.
- Loading data from files (3D models, 2D sprites and textures, level detail).
- Performance of initial calculations.
|
|
|
Term
| What occurs in the input stage of the Game Loop? |
|
Definition
- Get the current state of the joystick or gamepad each frame.
- Process user events in event queue.
- If there's no input this frame, continue with the rest of the loop.
|
|
|
Term
| What occurs in the input stage of the Game Loop? |
|
Definition
- Update remotely controlled objects in multi-player games, from message received across network.
- Animate all objects.
- Apply artificial intelligence, such as pathfinding and behaviour.
- Collision detection.
|
|
|
Term
| What stage occurs after the Game Loop has exited? |
|
Definition
|
|
Term
| What happens in the cleanup stage? |
|
Definition
| Memory and resources are released. |
|
|
Term
| What are the steps of the Game Loop? |
|
Definition
|
|
Term
|
Definition
| A Game Program Skeletor or API (Application Programming Interface). They may have modules to handle input, physics, animation, AI, graphics, rendering, sound, etc. They're often a by-product of game development, and as a result are licenced for use by other developers. |
|
|
Term
| Give an example of a games engine. |
|
Definition
|
|
Term
| What are the advantages to using a game engine? |
|
Definition
- Tried and tested technology.
- Can be specialised for one type of game.
|
|
|
Term
| What are the disadvantages to using a game engine? |
|
Definition
- A new interface must be learnt.
- Licence fees and/or royalties must be paid.
|
|
|
Term
| What are the advantages to developing a game from scratch? |
|
Definition
- There are no fees or royalties.
- There is greater flexibility and customisation for a game.
- There's a chance to develop new and better algorithms and modules.
|
|
|
Term
| What are the disadvantages to developing a game from scratch? |
|
Definition
|
|
Term
| Give examples of APIs that will help build game engines/develop from scratch. |
|
Definition
- OpenGL
- DirectX
- Java3D
- MonoGame
|
|
|
Term
| What are the two different types of game time? |
|
Definition
- "Parallel", "Simultaneous", "Real Time"
- Turn-based
|
|
|
Term
|
Definition
| Delta Time encourages frame rate independence. Objects update at the same speed on all types of hardware, and it's known as fixed time step. Delta time is the change in time since the last tick. |
|
|
Term
| What method is used to calculate the position of a point on a line? |
|
Definition
Interpolation. [image] [image] [image] |
|
|
Term
| Why don't curves have every point on them stored? |
|
Definition
| It is tedious and would have the same size and scaling problems as a bitmap. |
|
|
Term
| What values does a circle need stored? |
|
Definition
|
|
Term
| What is the equation used to calculate any point on a circle's circumference? |
|
Definition
[image]
Where the center point is:
[image] |
|
|
Term
|
Definition
A figure formed by the intersection of a plane and a circular cone. The resulting section can be a circle, an ellipse, a parabola, or hyperbola, depending on the angle. [image] |
|
|
Term
| What practical use does the parabola created by a conic section provide? |
|
Definition
| Mirroring the effect of gravity. |
|
|
Term
|
Definition
| A spline is a straight line with points on it that dictate the shape of the curve. |
|
|
Term
| What are the types of points attached to a spline that dictate the curve's shape? |
|
Definition
- Control points
- Tangent points
- Weights
- Knots
|
|
|
Term
| What are some types of spline? |
|
Definition
- Bezier curve
- Cardinal spline
- B-spline
- NURBs (Non-uniform rational b-splines)
|
|
|
Term
| What is the maximum number of bends to be had between two ends of a bezier curve? |
|
Definition
|
|
Term
| Which applications utilise NURB splines? |
|
Definition
|
|
Term
|
Definition
|
|
Term
| How are 3D objects displayed? |
|
Definition
| They are represented by a set of vertices onto which a texture is applied. |
|
|
Term
| Which direction does the positive z-axis point in a left-handed co-ordinate system? |
|
Definition
|
|
Term
| Which direction does the positive z-axis point in a right-handed co-ordinate system? |
|
Definition
|
|
Term
| Which co-ordinates system (left/right handed) does OpenGL use? |
|
Definition
|
|
Term
| Why are triangles used to represent meshes? |
|
Definition
| They're guaranteed to be flat. |
|
|
Term
| What are the benefits to building up vertices from geometric primitives? |
|
Definition
| The position of the vertices can be calculated to any desired resolution. They also only need a few attributes defined. |
|
|
Term
| Primitive objects can be combined using boolean operations. Name two such operations. |
|
Definition
|
|
Term
| How would one create a mesh using a curve? |
|
Definition
Define the curve in 2D (such as a Bezier curve or NURB) and rotate or extend it to get a 3D shape. E.G. Goblet. |
|
|
Term
| Why are less vertices on a mesh better? |
|
Definition
| Takes up less storage space. |
|
|
Term
| Where Java uses "import", what does C++ use? |
|
Definition
|
|
Term
| What does string.size() do? |
|
Definition
| Sets/changes the number of characters, like string.length(). |
|
|
Term
| What does string.find(x) do? |
|
Definition
| Finds a certain character within the character or word within the string and returns its position, returning npos if not found. |
|
|
Term
| What does string.insert(pos, x) do? |
|
Definition
| Finds a character or word and replaces it with x. |
|
|
Term
| What does string.append(pos, x) do? |
|
Definition
| Finds a character or words and adds in the value of x. |
|
|
Term
| What does string.erase(pos) do? |
|
Definition
| Removes a character or word. |
|
|
Term
| What does the getLine(cin, name) function do? |
|
Definition
|
|
Term
| What does CG APIs stand for? |
|
Definition
| Computer graphics application programming interface. |
|
|
Term
|
Definition
| A 2D view of a 3D scene. The view depends on camera, parameters, properties of scene objects, and illumination. |
|
|
Term
| What are the main steps to 3D graphics viewing? |
|
Definition
- Scene specification
- View specification
- View generation
- Display
|
|
|
Term
| What does the object definition stage of 3D graphics viewing do? |
|
Definition
| Object definition specifies the modelling co-ordinates. It also looks at colours, textures, and surface characteristics. |
|
|
Term
| What does the view specification stage of 3D graphics do? |
|
Definition
| View specification sets up viewing parameters. It's similar to setting up the camera in terms of position, orientation, and zoom. |
|
|
Term
| What does the view generation stage of 3D graphics do? |
|
Definition
| View generation is when shading, projection, clipping, and culling are computed. It also computes coordinates relative to the camera. |
|
|
Term
| What are the main steps to coordinate transformations? |
|
Definition
- Modelling transformation
- Viewing transformation
- Projection transformation
- Viewport transformation
|
|
|
Term
| In what three ways can the camera position change? |
|
Definition
| Dolly, track, and tumble. |
|
|
Term
| What three things can light do when hitting a surface? |
|
Definition
| Reflect, transmit, or be absorbed. |
|
|
Term
| What about a surface determines the amount and direction of light that is absorbed, reflected, and transmitted? |
|
Definition
|
|
Term
| What assists in replicating lighting laws, that would otherwise be too costly to replicate? |
|
Definition
|
|
Term
| What does an illumination model do? |
|
Definition
| Provides a formula for calculating light intensity seen at a surface point. |
|
|
Term
| What does specular reflection model? |
|
Definition
| The bright spots on illuminated, shiny surfaces. |
|
|
Term
| What is ambient reflection? |
|
Definition
| The general brightness of the scene. |
|
|
Term
| Give the three most common shading algorithms in order of photorealism: |
|
Definition
- Constant/Flat shading
- Gouraud shading
- Phong shading
|
|
|
Term
| What are the types of collision detection? |
|
Definition
| Bounding boxes, and per-pixel collision. |
|
|
Term
| What is artificial intelligence? |
|
Definition
| An attempt to model aspects of human thought on computers. |
|
|
Term
|
Definition
| A sequence of numbers that exhibit randomness but have been created entirely by deterministic means. |
|
|
Term
| What is the name of a more advanced form of AI? |
|
Definition
|
|
Term
|
Definition
| It allows for the patrolling of a series of waypoints. |
|
|
Term
| What is local pathfinding? |
|
Definition
| The selection of the best route at a current time, and repeats the process each time. |
|
|
Term
| What is global pathfinding? |
|
Definition
| The selection of the best route, having considered all other options. |
|
|
Term
| How is bitrate calculated? |
|
Definition
| ((Sample rate x Resolution)/8) x 2 |
|
|
Term
| When should pass by reference be used? |
|
Definition
- To change the values held by a function parameters
- To return more than one value from a function
- If a parameter is very large, so making a local copy in the functions would be wasteful
|
|
|
Term
| What does the const keyword do? |
|
Definition
| indicates that something cannot be changed during program execution. |
|
|
Term
| What should be used instead of #define? |
|
Definition
|
|
Term
| If a program tries to modify a const, what happens? |
|
Definition
|
|
Term
|
Definition
| An alternate name for an object. |
|
|
Term
| What are the benefits of references? |
|
Definition
| They are cleaner and less error prone. |
|
|
Term
| What are the benefits of using the 'auto' keyword? |
|
Definition
| It is robust, performs better, has better usability, and is more efficient. |
|
|
Term
| When is a class constructor called? |
|
Definition
| When an object is first created. |
|
|
Term
| When is a class destructor called? |
|
Definition
| When an object goes out of scope (if on the stack) or when an object is deleted (if created on the heap). |
|
|
Term
| When isn't it acceptable for a class definition to go into a header file? |
|
Definition
| When it's too long. For example, if a method loads model data from file. |
|
|
Term
|
Definition
| A declaration of a function that specifies the function's name and type signature. |
|
|
Term
|
Definition
| The order in which vertices are specified. |
|
|
Term
| What is the winding order convention in OpenGL? |
|
Definition
|
|
Term
| What is a better alternative to the painter's algorithm? |
|
Definition
|
|
Term
| What are the five steps of File I/O? |
|
Definition
- Include fstream library.
- Declare the stream variables.
- Associate the file stream variable with the input/output sources.
- Use the file stream variable with <<, >> or other I/O functions.
- Close the files.
|
|
|
Term
| What would "if(eof())" check for? |
|
Definition
| Whether there is more data to be found. |
|
|
Term
| What two properties are needed to map a texture to a polygon vertex? |
|
Definition
|
|
Term
|
Definition
| When a texture map is too detailed and several texels map onto one pixel. The object may shimmer as it moves. |
|
|
Term
|
Definition
| When the texture map is too coarse and one texel maps onto several pixels. |
|
|
Term
| How does point sampling work? |
|
Definition
| Point sampling uses colour nearest to the pixel. |
|
|
Term
| How does bilinear filtering work? |
|
Definition
| Averages to the 4 nearest texels and smooths out mismatch between pixel and texel size. |
|
|
Term
|
Definition
The pre-computed hierarchy of texture maps of different resolutions. I.E. Brick wall |
|
|
Term
| What is the simplest texture file type to read in? |
|
Definition
|
|
Term
| What must be done before texturing will work? |
|
Definition
glEnable(GL_TEXTURE_2D); //Enable textures. |
|
|
Term
|
Definition
| When an object can be of multiple types. E.G. SceneObject of type Cube or Pyramid |
|
|
Term
|
Definition
| When a subclass inherits public/protected properties and methods from a superclass. |
|
|
Term
| In OpenGL, what are the four light components? |
|
Definition
| Emissive, specular, diffuse, and ambient |
|
|
Term
|
Definition
| Light that is emitted by a scene object. |
|
|
Term
|
Definition
| Light reflected from a smooth polished surface. |
|
|
Term
|
Definition
| Light striking the surface from a given direction, partly absorbed, and partly reflected. |
|
|
Term
|
Definition
| Light coming from all directions, simulating light that bounces in varying directions before hitting the object. |
|
|
Term
| What colour will specular light typically be? |
|
Definition
| The same colour as the light source's specular, as little to no light is being absorbed. |
|
|
Term
| How is specular light affected by the smoothness of the material? |
|
Definition
| If the material is smoother, the light is more concentrated. |
|
|
Term
|
Definition
| A normal is a vector perpendicular to a surface. |
|
|
Term
| What two pieces of data must go in the struct for a linked list node? |
|
Definition
- Data
- Pointer to next node
|
|
|
Term
| What benefit do arrays have that linked lists do not? |
|
Definition
| An array is easy to access. |
|
|
Term
| What are the advantages to a linked list? |
|
Definition
- Not fixed in length
- Amount of storage is equal to the size of the list
- Can grow and shrink
- Inserting and deleting nodes is straightforwards
- Inserting and deleting nodes does not shuffle other elements
|
|
|
Term
| What are the disadvantages to a linked list? |
|
Definition
- Can't access individual elements easily
- Searching requires examining every element in turn
- Storage space is higher than arrays as data and pointer is needed, doubling size
|
|
|
Term
|
Definition
|
|
Term
|
Definition
| A variable that holds a memory address. |
|
|
Term
| What does a void pointer do? |
|
Definition
| Points to data of any type. |
|
|
Term
| What data type is a Stack? |
|
Definition
| (LIFO) Last In, First Out. |
|
|
Term
| What data type is a Queue? |
|
Definition
| (FIFO) First In, First Out. |
|
|
Term
|
Definition
| The act of a function calling itself. |
|
|
Term
| What must a recursive function have to avoid an infinite loop? |
|
Definition
|
|
Term
| What is the difference between a binary tree and a linked list? |
|
Definition
| A binary tree can link to two or more node. |
|
|
Term
| What is the head of a binary tree known as? |
|
Definition
|
|
Term
| In what direction is a binary tree traversed? |
|
Definition
| From the root, and from left to right (if present). |
|
|
Term
| How does pre-order traversal work? |
|
Definition
| It starts at the root and visits each node the first time it is encountered, before any of its children. |
|
|
Term
| How does in-order traversal work? |
|
Definition
| It starts at the root, traverses to the left, visits the node, and then to the right (if present), before returning to the parent. If there is no unvisited parent, the traversal is finished. Each node is visited the second time it is encountered, after the left child but before the right. |
|
|
Term
| How does a post-order traversal work? |
|
Definition
| It starts at the root, traverses to the left, traverses to the right (if present), then visits the parent. If there's no parent, the traverse is finished. Each node is visited the last time it is encountered, after both children. |
|
|
Term
| How does depth first binary tree searching work? |
|
Definition
| Searching each branch to the end before moving onto the next branch. |
|
|
Term
| How does breadth first binary tree searching work? |
|
Definition
| All nodes at a given level are visited before moving onto the next level. |
|
|
Term
| What is a binary search tree? |
|
Definition
| A binary search tree is a binary tree where the left subtree of a node contains only nodes with data less than the node's data, and the right contains only nodes with data greater than the node's data. |
|
|
Term
| What type of data structure is used to represent a hierarchical scene? |
|
Definition
|
|
Term
| If a node needs two or more children, a traditional binary tree scene graph cannot be used. What is the alternative? |
|
Definition
| Left-child, right-sibling. |
|
|
Term
| In a left-child, right-sibling scene graph, what type of data structure is each child node? |
|
Definition
|
|
Term
| In a graphics application, what would be used to ensure that child nodes have the same transformations as their parents? |
|
Definition
|
|
Term
| What are the various transformation matrices? |
|
Definition
|
|
Term
| Give an example of an implementation of a scene graph. |
|
Definition
|
|
Term
| Under what circumstances has a collision between two bounding volumes not occurred? |
|
Definition
- XmaxA < XminB
- XminA > XmaxB
- YmaxA < YminB
- YminA > YmaxB
|
|
|
Term
| Which methods are the easiest for selecting an object in 3D space? |
|
Definition
|
|
Term
| Which method is the most difficult for selecting an object in 3D space? |
|
Definition
|
|