Sample questions
Gfx Post Processing Aa HdrDifficulty 2
In a typical post-processing pass, how does the pipeline access the result of the previous pass?
- aIt re-runs every object's vertex shader using the previous pass's depth values.
- bIt copies the previous render target directly into the next pass's vertex buffer.
- cIt draws a full-screen triangle and samples the previous render target as an input texture.✓
- dIt reads the previous pass's colors from a uniform buffer indexed by triangle ID.
Explanation:Post-process passes typically render a single full-screen triangle/quad and sample the prior pass's render target as a texture input in the fragment shader, rather than re-running scene geometry.
Gfx Post Processing Aa HdrDifficulty 1
In a bloom effect, what does the 'bright-pass' (threshold) step do?
- aIt keeps only the pixels above a chosen brightness threshold.✓
- bIt converts every pixel to grayscale before the blur passes run.
- cIt increases the render target's resolution before blurring.
- dIt applies the final tonemap operator to the whole image.
Explanation:The bright-pass step isolates only the pixels above a luminance threshold; those are what feed the downsample/blur pyramid that produces the glow.
Gfx Post Processing Aa HdrDifficulty 2
Why do post-processing chains commonly alternate ('ping-pong') between two render targets instead of writing into the same one they read from?
- aIt halves the memory bandwidth used by the whole post-process chain.
- bIt lets MSAA resolve run before the next pass starts.
- cIt lets the GPU run two passes in parallel on different cores.
- dA single texture usually can't be both input and output in the same GPU command.✓
Explanation:A single texture usually cannot be simultaneously bound as a shader resource input and a render target output in the same GPU command, so ping-ponging between two targets sidesteps that hazard.
Gfx Post Processing Aa HdrDifficulty 3
A studio switches an HDR scene color render target from a 16-bit float RGBA format to a 10/11-bit-per-channel packed float format with no alpha channel. What is the direct trade-off?
- aBandwidth drops and precision improves, since all bits go to color instead of alpha.
- bBandwidth drops, but fewer mantissa bits and no sign mean lower precision.✓
- cBandwidth increases, since packed formats need extra per-pixel padding bits.
- dNeither bandwidth nor precision changes; only the max brightness value changes.
Explanation:A packed 10/11-bit float format halves per-pixel storage versus 16-bit float, but each channel's mantissa shrinks and the format has no sign bit, so precision drops and only non-negative values are representable.
Gfx Post Processing Aa HdrDifficulty 2
In an HDR post-process chain, why is the bloom bright-pass threshold normally applied to the scene color before tonemapping rather than after?
- aDoing it first reduces how many render targets the whole chain needs.
- bThe bright-pass shader can only read data from 8-bit intermediate textures.
- cBefore tonemapping, above-1.0 values are still meaningful; after, they're gone.✓
- dTonemapping physically discards the channels needed to compute brightness.
Explanation:Applying the threshold on linear HDR data lets it distinguish real over-brightness (values above 1.0); once tonemapping compresses everything into a display-referred range, that distinction is gone.
Gfx Post Processing Aa HdrDifficulty 1
What does the MSAA 'resolve' step do?
- aIt rasterizes each triangle a second time at a higher resolution.
- bIt combines the per-sample color values stored per pixel into a single value.✓
- cIt converts the depth buffer from float to an integer format.
- dIt removes fully occluded triangles before the fragment shader runs.
Explanation:Resolve combines the multiple per-sample color values a multisampled render target stores for each pixel into the single color that gets used going forward.