Sample questions
Gfx Shading Lighting PbrDifficulty 1
In a Lambertian diffuse shading term, why is the surface normal dotted with the light direction (N·L)?
- aIt measures the distance from the light to the surface point
- bIt scales incoming light by the cosine of the incidence angle✓
- cIt converts the light color from sRGB to linear space
- dIt picks which mipmap level of the diffuse texture to sample
Explanation:N·L is the cosine of the angle between the normal and the light direction. A fixed bundle of rays covers more surface area at a grazing angle than head-on, so irradiance per unit area falls off with that cosine — this is Lambert's cosine law, not a distance, color-space, or mip calculation.
Gfx Shading Lighting PbrDifficulty 2
A physically based Lambertian diffuse BRDF is written as albedo / π rather than just albedo. What is the 1/π factor for?
- aConverting the albedo texture from sRGB to linear encoding
- bCompensating for floating-point precision loss during shading
- cNormalizing the BRDF's hemisphere integral to the albedo✓
- dReducing specular aliasing on high-frequency normal maps
Explanation:A BRDF's hemispherical integral of a constant reflectance should equal the fraction of light reflected. Integrating a cosine-weighted constant term over the hemisphere yields π, so dividing the diffuse term by π normalizes it back to the albedo value, keeping the surface from reflecting more energy than it receives.
Gfx Shading Lighting PbrDifficulty 1
In Blinn-Phong shading, what is the half vector H used for?
- aApproximating the specular highlight direction cheaply✓
- bStoring the tangent-space normal sampled from a normal map
- cPointing from the camera toward the light's shadow map
- dAveraging all vertex normals of the current triangle
Explanation:H = normalize(L + V) sits between the light and view directions. Blinn observed that comparing N to H, rather than computing the true mirror reflection vector R and comparing it to V, gives a visually similar highlight while being cheaper to evaluate per pixel.
Gfx Shading Lighting PbrDifficulty 2
Why is classic Blinn-Phong specular considered an empirical model rather than a physically based one?
- aIt cannot be implemented in a fragment shader at all
- bIt requires a cubemap and only works with image-based lighting
- cIts exponent must always be an integer between 1 and 8
- dIts exponent is tuned by eye, unrelated to measured roughness✓
Explanation:Blinn-Phong's specular lobe shape and brightness come from an artist-chosen exponent and multiplier that were never derived from microfacet statistics or a real Fresnel term, and the model gives no guarantee that reflected energy stays bounded. Microfacet BRDFs replaced it because roughness and F0 map to measurable material properties and can be built to conserve energy.
Gfx Shading Lighting PbrDifficulty 2
In the microfacet Fresnel term, what does F0 represent?
- aThe material's total diffuse reflectance averaged over all angles
- bThe maximum brightness a light can contribute before HDR clamping
- cThe roughness value at which the specular lobe becomes mirror-like
- dThe fraction of light reflected straight-on, at zero incidence angle✓
Explanation:F0 is the Fresnel reflectance measured straight-on, with the view direction parallel to the normal (angle of incidence 0). It is the baseline the Schlick approximation grows from as the viewing angle moves toward grazing.
Gfx Shading Lighting PbrDifficulty 2
In the glTF 2.0 metallic-roughness material model, what linear F0 value is used for non-metal (dielectric) surfaces?
- a0.0, since dielectrics have no specular reflection at all
- b0.5, the midpoint of the roughness range
- c0.04, from a fixed index of refraction of 1.5✓
- d1.0, the same grazing-angle value used for metals
Explanation:The glTF specification states that for non-metals it is not possible to specify a per-material F0, so a fixed linear value of 4% (0.04) is used, derived from an assumed index of refraction of 1.5 — a good compromise for most opaque dielectric materials.