Advanced Computer Graphics

studied byStudied by 0 people
0.0(0)
learn
LearnA personalized and smart learning plan
exam
Practice TestTake a test on your terms and definitions
spaced repetition
Spaced RepetitionScientifically backed study method
heart puzzle
Matching GameHow quick can you match all your cards?
flashcards
FlashcardsStudy terms and definitions

1 / 25

encourage image

There's no tags or description

Looks like no one added any tags here yet for you.

26 Terms

1

Difference between normal and bump mapping?

Both add surface details by changing the normals.

Bump mapping uses a grayscale texture that only perturbs the surface height.
Normal mapping uses an RGB texture where each pixel encodes a normal vector. Full control over normal orientation
New cards
2
Funkhouser et. al. described a "knapsack"-problem when it comes to optimize a scene with many objects. What is the problem he described, why is it a NP-complete problem, and how can it be overcome?

LOD Management

Cost of rendering an Object O at a certain level L: Cost(O,L) The Benefit of rendering object O at L: Benefit(O, L)

Now for all objects in the view frustrum, we want to optimize the sum of the benefits under the constract that the sum of the cost is smaller than the target frametime. Approximation:

  • Cost(O,L): The average time to render object O at LOD L from different viewpoints

  • Benefit(O,L): The projected size of the bounding volume.

Selecting L for each O in S is a napsack problem. Instead we can use a greedy algorithm where we seek to maximize the value for each object:

  • Maximize value = (Benefit/Cost) for each object

  • Start with the objects of highest value (if equal, highest benefit is used)

  • Complexity is O(n log n)

New cards
3
Describe two methods of interpolating Quaternions and the difference between the two

Linear interpolation (LERP)

  • Fast

  • Angular velocity is not constant Lerp(t,q1,q2) = q1(1-t) + q2t

Spherical Interpolation (SLERP)

  • More computational demanding

  • Numerical instable when theta close to 0

  • Even rotation velocity (interpolates over the spherical arc) Slerp(t,q1,q2) = sin(θ(1-t))/sinθ)+ sin(θt)

<p>Linear interpolation (LERP)</p><ul><li><p>Fast</p></li><li><p>Angular velocity is not constant Lerp(t,q1,q2) = q1(1-t) + q2t</p></li></ul><p>Spherical Interpolation (SLERP)</p><ul><li><p>More computational demanding</p></li><li><p>Numerical instable when theta close to 0</p></li><li><p>Even rotation velocity (interpolates over the spherical arc) Slerp(t,q1,q2) = sin(θ(1-t))/sinθ)+ sin(θt)</p></li></ul>
New cards
4

Interpolation between multiple Quaternions?

SQUAD (Spherical Cubic Interpolation)

Uses iteration of three sleprps and is similar to the “de Casteljau algorithm”.

Squad(t; p, a, b, q) = Slerp(2t (1-t); Slerp (t; p, q), Slerp(t;a,b))

New cards
5

Describe how to derive the normal matrix.

  1. Start with the upper-left 3Ă—3 submatrix of the model-view matrix M (excluding translation components).

  2. Compute the inverse of this 3Ă—3 matrix: M3Ă—3-1

  3. Take the transpose of this inverse to get the Normal Matrix. N = (M3Ă—3-1)T

New cards
6

What is the purpose of the Normal Matrix and why do we need it?

The normal matrix ensures correct transformations of normal vectors when the object undergoes non-uniform scaling, rotation and translations. Unlike position vectors, normal vectors need to be transformed using the inverse-transpose of the model-view matrix to preserve perpendicularity.

Without the Normal Matrix, lighting calculations would be incorrect, causing normals to be distorted and shading to look unrealistic.

New cards
7

Describe and illustrate how the shadow mapping method works.

Shadow mapping is a technique that determines if a fragment is in shadow by comparing its depth from the light’s perspective. The process involves two main steps:

  1. Depth pass (Shadow Map Generation)

    • Render the scene from the light’s POV

    • Store the depth (distance to the light) of the closest surfaces in a shadow map (a depth texture).

  2. Shading pass (Shadow Test)

    • Render the scene from the camera’s POV

    • Transform each fragment’s world position into the light coordinate space.

    • Compare its depth to the stored depth in the shadow map.

    • If the fragment is further than the stored depth, it is in shadow, otherwise it is lit

New cards
8

How can this method be extended for shadows on large areas

For large areas, a single shadow map may have low resolution, causing pixelated shadows (aliasing). Some techniques to improve shadow quality include:

  1. Cascaded Shadow Maps (CSM) – Divide the scene into multiple regions (cascades) and use higher resolution shadow maps for near areas and lower resolution for far areas.

  2. Directional Shadow Mapping (for sunlight) – Use an orthographic projection to cover large areas uniformly.

  3. Tiled Shadow Maps – Split the terrain into smaller sections and generate shadow maps per section.

These methods balance performance and shadow quality over large distances.

New cards
9

Describe how soft shadows can be emulated

Soft shadows can be approximated by blurring or filtering the shadow edges. Some common techniques:

  1. Percentage Closer Filtering (PCF) – Sample multiple nearby texels in the shadow map and average the results to create a soft transition.

  2. Variance Shadow Mapping (VSM) – Stores depth and squared depth in the shadow map, allowing for smooth filtering using variance.

  3. Poisson Sampling – Uses a random sampling pattern to reduce aliasing and create smoother shadows.

  4. Screen-space Blur – Apply a Gaussian blur or similar filter to the shadow edges in post-processing.

New cards
10

Describe how Dynamic skybox can improve realism for moving objects.

A dynamic skybox updates in real-time to reflect changes in time of day, weather and lighting conditions. This improves realism for moving objects by ensuring that their shading, reflections and atmospheric effects remain consistent with the environment.

Key Improvements for Realism

  1. Real-time Lighting Adjustments

    • As objects move, the light source (e.g., sun, moon) changes position.

    • A dynamic skybox updates ambient light and directional light accordingly, making moving objects appear more naturally lit.

  2. Reflections on Moving Objects

    • Moving objects, especially metallic or glossy surfaces, reflect the skybox.

    • A static skybox would cause incorrect reflections, while a dynamic skybox updates reflections in real time.

  3. Atmospheric Effects

    • Moving objects experience fog, clouds, and color shifts dynamically.

    • A dynamic skybox ensures that distant objects fade naturally and that motion through fog looks correct.

  4. Parallax and Perspective Changes

    • A static skybox appears flat.

    • A dynamic skybox with parallax correction makes distant clouds, stars, and the sun appear correctly positioned as the player moves.

New cards
11

What is BRDF?

Bidirectional Reflectance Distribution Function

  • Describes how light is reflected from a surface at a certain wavelength.

  • Answers the following questions:

    • Assume light hit a point on a surface with the incoming direction of win and the outgoing direction wout, how much energy is reflected?

    • BRDF(win,wout)

    • This function describes the ratio between incoming light (Irradiance) at a certain point and leaving (radiance) at specified in and out directions

  • i.e. doesn’t work for subsurface scattering

  • The degree to which light is reflected depends on the viewer and light position relative to the surface normal and tangent

New cards
12

The rendering equation

knowt flashcard image
New cards
13

What is position dependent vs. position independent BRDF?

  • Position-Dependent BRDF: This means the BRDF varies with the position on the surface. This can happen due to spatially varying material properties (e.g., textures, anisotropic surfaces) or local geometric effects (e.g., microfacet variations). However, all BRDFs still depend on view direction and light direction.

  • Position-Independent BRDF: This means the BRDF remains the same across the surface. The reflectance properties are uniform at every point, meaning there's no texture variation or spatial dependence.

New cards
14

Describe what ambient occlusion is? What is the effect that we try to achieve with this rendering technique?

Shadow from ambient light is called Ambient Occlusion. They do not depend in light direction and hence can be precomputed (for static objects). We try to achieve self-shadowing on objects

<p>Shadow from ambient light is called <em>Ambient Occlusion</em>. They do not depend in light direction and hence can be precomputed (for static objects). We try to achieve self-shadowing on objects</p>
New cards
15

Write down the BRDF for Ambient Occlusion to illustrate how it comes into the rendering equation.

knowt flashcard image
New cards
16

Write down the BRDF for Blinn phong and Labert diffuse

knowt flashcard image
New cards
17

Difference between local and global illumination? What is the major goal of global illumination?

The goal of global illumination is to simulate the full interaction that objects have with each other in terms of lighting. A red object “leaks” red onto nearby objects for example.

The difference is that local illumination does not take other objects into account when calculating light (except for potentially shadows)

New cards
18

Describe techniques that can achieve a global illumination effect.

  • Path tracing
    Raytracing only gives specular highlights. Path tracing also traces secondary reflections randomly. Uses a number of samples when calculating diffuse light (noise with few samples, needs a ton of samples to look good without noise). Not possible in real time until denoising was introduced. Meaning only 1 sample is needed that can then be “denoised”

  • Photon mapping

    A two pass method.

    Pass 1:

    • Sends photons that are traced using ray tracing, interacts with objects in the scene. (absorbed, reflected or transmitted)

    • If diffuse, the photon is stored in the photon map

    • If specular, the photon is reflected

    • Collected photons are stored using a k-d tree for fast nearest-neighbor searches.

    Pass 2:

    • Standard ray-tracing is used to compute the final image.

    • If the surface is diffuse, the radiance estimation is performed

      • Nearby photons are gathered, their contribution is estimated using a desntiy estimation technique.

      • If surface is reflective or refractive, recursive ray tracing is used to handle it.

  • Radiosity

New cards
19

Describe and illustrate the algorithm for Parallax Mapping

knowt flashcard image
New cards
20

Describe and illustrate the generation and rendering of a skybox

To render a skybox:

  1. Clear the depth and color buffers

  2. Apply camera translation (not rotation)

  3. Disable the depth buffer test and writes

  4. Draw the skybox

  5. Enable depth buffer test and writes

  6. Draw the rest of the scene

<p><strong>To render a skybox:</strong></p><ol><li><p>Clear the depth and color buffers</p></li><li><p>Apply camera translation (not rotation)</p></li><li><p>Disable the depth buffer test and writes</p></li><li><p>Draw the skybox</p></li><li><p>Enable depth buffer test and writes</p></li><li><p>Draw the rest of the scene</p></li></ol><p></p>
New cards
21

Describe AAB, how to create it, what are its benefits and drawbacks?

Axis Aligned Bounding Box. Described by two points, minimum and maximum. Simply loop through vertices and find the minimum and maximum values for each axis.

+Simple to create

+Simple collision detection

-A lot of empty space enclosed

New cards
22

Describe Two algorithms for creating a Bounding Sphere, how to create it, what are its benefits and drawbacks?

Simple algorithm:

  • Create an AABB

  • Use centerpoint of AABB as center opf sphere

  • Use diagonal as radius (or better, loop through vertices and fine the one farthest from the center, this is the new radius)

Better algorithm (picture)

+Simple to create

+Simple collision detection

-Could potentially be a bad choice for long thin objects.

<p>Simple algorithm:</p><ul><li><p>Create an AABB</p></li><li><p>Use centerpoint of AABB as center opf sphere</p></li><li><p>Use diagonal as radius (or better, loop through vertices and fine the one farthest from the center, this is the new radius)</p></li></ul><p>Better algorithm (picture)</p><p></p><p>+Simple to create</p><p>+Simple collision detection</p><p>-Could potentially be a bad choice for long thin objects.</p>
New cards
23

Describe the real time method for Ambient Occlusion (SSAO)

knowt flashcard image
New cards
24

Three alternatives to represent a rotation. Strength and weakness?

There are three common ways to represent a rotation in computer graphics:

1. Euler Angles

  • Description: A rotation is represented using three angles (yaw, pitch, roll) applied sequentially around coordinate axes.

  • Strengths:

    • Intuitive and easy to understand.

    • Compact representation (only three values).

    • Efficient for simple rotations.

  • Weaknesses:

    • Gimbal lock: Loss of a degree of freedom when two axes align.

    • Order-dependent: Different rotation orders produce different results.

    • Difficult to interpolate smoothly.


2. Rotation Matrices

  • Description: A 3Ă—3 matrix (or 4Ă—4 in homogeneous coordinates) that transforms points or vectors in space.

  • Strengths:

    • No gimbal lock.

    • Easy to combine multiple transformations (multiplication of matrices).

    • Directly usable in transformation pipelines.

  • Weaknesses:

    • Requires 9 (or 16) values, making it memory-heavy.

    • Floating-point errors can cause matrix drift (not always perfectly orthonormal).

    • Not efficient for interpolation (e.g., SLERP is difficult).


3. Quaternions

  • Description: A four-component representation (w, x, y, z) that encodes rotation without using matrices.

  • Strengths:

    • No gimbal lock.

    • More compact than matrices (only 4 values).

    • Efficient for smooth interpolation (SLERP).

  • Weaknesses:

    • Less intuitive than Euler angles.

    • Requires specialized operations (e.g., quaternion multiplication).

    • Harder to debug due to abstract representation.

New cards
25

What does HRTF stand for, how does it work?

Head-Related Transfer Function. It models how sound interacts with the head, ears, and body before reaching the eardrums. It helps with 3D audio by using interaural time and level differences (ITD & ILD) and frequency filtering. Used in VR and spatial audio.

New cards
26

What is the difference between presence and immersion?

  • Immersion: The technical aspect of how well a system engages the senses (e.g., high-resolution visuals, spatial audio, and haptics).

  • Presence: The psychological feeling of "being there" in the virtual environment, influenced by immersion but also by interaction quality and realism.

Comparison:

  • Immersion is objective (hardware-driven), while presence is subjective (user perception).

  • High immersion can enhance presence, but presence also depends on user engagement and realism.

New cards

Explore top notes

note Note
studied byStudied by 344 people
752 days ago
5.0(2)
note Note
studied byStudied by 5 people
815 days ago
5.0(1)
note Note
studied byStudied by 138 people
970 days ago
5.0(1)
note Note
studied byStudied by 16 people
691 days ago
5.0(2)
note Note
studied byStudied by 35 people
861 days ago
5.0(1)
note Note
studied byStudied by 16 people
720 days ago
5.0(1)
note Note
studied byStudied by 31 people
521 days ago
5.0(1)
note Note
studied byStudied by 15 people
741 days ago
5.0(2)

Explore top flashcards

flashcards Flashcard (33)
studied byStudied by 9 people
757 days ago
5.0(1)
flashcards Flashcard (20)
studied byStudied by 4 people
543 days ago
5.0(3)
flashcards Flashcard (22)
studied byStudied by 57 people
708 days ago
4.5(2)
flashcards Flashcard (50)
studied byStudied by 5 people
554 days ago
5.0(1)
flashcards Flashcard (42)
studied byStudied by 12 people
485 days ago
5.0(1)
flashcards Flashcard (33)
studied byStudied by 1 person
694 days ago
5.0(1)
flashcards Flashcard (31)
studied byStudied by 23 people
780 days ago
5.0(1)
flashcards Flashcard (54)
studied byStudied by 18568 people
709 days ago
4.5(362)
robot