▸case-01 We are designing a standard deferred shading pipeline in DirectX 11 / OpenGL. We need to store diffuse albedo, world space normals, and specular roughness/metallic properties across multiple render targets (MRT) while minimizing bandwidth. How should these attributes be distributed across render target attachments? | pass→pass | 22,899 | 34,769 | +52% | 1 | 1 | 0% | 4,284 | 4,160 | -3% | 0 | 0 | — |
▸case-02 When storing surface normals in a G-buffer render target, developers often use 8-bit per channel RGBA textures, leading to visible banding artifacts on specular highlights. What precision format or encoding method should be used to prevent loss of normal precision? | pass→pass | 14,227 | 17,625 | +24% | 1 | 1 | 0% | 2,676 | 2,733 | +2% | 0 | 0 | — |
▸case-03 Instead of allocating an extra G-buffer render target to store 32-bit world space position vectors (X, Y, Z), how can a rendering engine reconstruct world position during the deferred lighting pass? | pass→pass | 15,203 | 14,354 | -6% | 1 | 1 | 0% | 2,707 | 2,703 | -0% | 0 | 0 | — |
▸case-04 In a physically-based deferred shading G-buffer layout, what is the standard practice for storing material roughness, metalness, and ambient occlusion parameters without introducing extra render target bind overhead? | pass→pass | 16,338 | 16,352 | +0% | 1 | 1 | 0% | 2,719 | 2,813 | +3% | 0 | 0 | — |
▸case-05 For temporal anti-aliasing (TAA) combined with deferred rendering, screen-space motion vectors are required. Should camera velocity vectors be computed per-vertex or reconstructed from current and previous frame depth matrices? | pass→pass | 14,539 | 16,051 | +10% | 1 | 1 | 0% | 2,377 | 2,533 | +7% | 0 | 0 | — |
▸case-06 When rendering thousands of point lights in a deferred shader using light bounding spheres, drawing full-screen quads for each light causes massive pixel shader overdraw. What geometry technique optimizes point light evaluation? | pass→pass | 18,086 | 15,965 | -12% | 1 | 1 | 0% | 2,568 | 2,321 | -10% | 0 | 0 | — |
▸case-07 When rasterizing point light volumes, if the camera moves inside the bounding sphere mesh, front-face culling combined with standard depth testing causes the light to abruptly vanish. How should rasterizer face culling and depth testing be configured to fix this? | fail→fail | 26,589 | 18,661 | -30% | 1 | 1 | 0% | 3,881 | 3,171 | -18% | 0 | 0 | — |
▸case-08 To prevent pixel shader execution on pixels inside a light volume sphere that are obscured by geometry in front of the volume, how can the graphics API stencil buffer be utilized? | pass→pass | 21,656 | 18,905 | -13% | 1 | 1 | 0% | 3,593 | 3,275 | -9% | 0 | 0 | — |
▸case-09 What geometric representation is best suited as a proxy volume when accumulating spotlight contributions in a deferred lighting pass? | fail→pass | 12,004 | 15,898 | +32% | 1 | 1 | 0% | 1,929 | 2,187 | +13% | 0 | 0 | — |
▸case-10 When computing point light intensity inside a light volume shader, inverse-square attenuation causes division by zero at the light center and infinite extents. How should light intensity be attenuated within the bounded radius? | pass→pass | 14,868 | 16,183 | +9% | 1 | 1 | 0% | 2,688 | 2,391 | -11% | 0 | 0 | — |
▸case-11 Screen-space decals are used to apply bullet holes and dirt patches in deferred renderers. What geometry primitive should be rasterized to project a decal into the G-buffer? | pass→pass | 7,917 | 7,902 | -0% | 1 | 1 | 0% | 1,263 | 1,052 | -17% | 0 | 0 | — |
▸case-12 Inside a deferred decal fragment shader, how are local texture coordinates (UVs) derived for sampling the decal texture maps? | pass→pass | 14,857 | 13,939 | -6% | 1 | 1 | 0% | 2,636 | 2,471 | -6% | 0 | 0 | — |
▸case-13 When projecting screen-space decals onto terrain, decals accidentally project onto dynamic characters walking over the area. How can G-buffer stencil bits prevent decals from affecting dynamic models? | pass→pass | 16,706 | 19,246 | +15% | 1 | 1 | 0% | 2,332 | 2,723 | +17% | 0 | 0 | — |
▸case-14 When a deferred decal modifies the G-buffer normal target, how should the original surface normal and the decal tangent-space normal be combined? | pass→pass | 17,208 | 18,675 | +9% | 1 | 1 | 0% | 2,955 | 3,109 | +5% | 0 | 0 | — |
▸case-15 When a screen-space decal box is rendered, fragments outside the unit box range [-0.5, 0.5] in local space must not be drawn. How is this check handled in the pixel shader? | pass→pass | 15,867 | 13,639 | -14% | 1 | 1 | 0% | 2,329 | 2,066 | -11% | 0 | 0 | — |
▸case-16 Screen-Space Ambient Occlusion (SSAO) estimates ambient shadowing by sampling nearby depth values around a pixel. How are sampling points positioned in 3D space during the SSAO shader pass? | pass→pass | 14,783 | 13,085 | -11% | 1 | 1 | 0% | 2,592 | 2,672 | +3% | 0 | 0 | — |
▸case-17 To avoid banding artifacts in SSAO while using low sample counts (e.g. 16 samples per pixel), what technique is applied across adjacent screen pixels? | pass→pass | 9,173 | 7,800 | -15% | 1 | 1 | 0% | 1,167 | 1,249 | +7% | 0 | 0 | — |
▸case-18 When calculating occlusion factors in SSAO, distant background geometry behind an object falsely contributes occlusion to foreground surfaces. How is this depth bleed artifact resolved? | pass→pass | 24,664 | 22,982 | -7% | 1 | 1 | 0% | 3,357 | 3,128 | -7% | 0 | 0 | — |
▸case-19 The raw occlusion map output from an SSAO pass is noisy due to low sample counts and random rotation vectors. What post-processing filter smooths the noise while maintaining sharp geometry edges? | pass→pass | 8,655 | 10,529 | +22% | 1 | 1 | 0% | 1,090 | 1,386 | +27% | 0 | 0 | — |
▸case-20 Once the filtered SSAO texture is generated, how should it be combined with the rest of the deferred pipeline during lighting calculations? | pass→pass | 16,819 | 19,678 | +17% | 1 | 1 | 0% | 2,559 | 2,845 | +11% | 0 | 0 | — |
▸case-21 In a deferred rendering engine, clearing multiple high-bandwidth G-buffer attachments every frame consumes significant GPU memory bandwidth. What strategy minimizes this clear cost? | pass→pass | 17,260 | 16,694 | -3% | 1 | 1 | 0% | 2,444 | 2,315 | -5% | 0 | 0 | — |
▸case-22 When transitioning from standard deferred light volumes to tiled deferred shading (Tile-Based Deferred Shading), how are light volumes assigned to screen tiles? | pass→pass | 19,667 | 19,646 | -0% | 1 | 1 | 0% | 2,774 | 3,339 | +20% | 0 | 0 | — |
▸case-23 We are building a render queue for semi-transparent stained glass windows and water surfaces in our engine. How should translucent meshes be sorted and rendered relative to the deferred pipeline? | pass→pass | 26,437 | 20,988 | -21% | 1 | 1 | 0% | 3,651 | 3,156 | -14% | 0 | 0 | — |
▸case-24 Our engine is adopting hardware DXR ray tracing to replace screen-space ambient occlusion. How does Hardware Ray-Traced Ambient Occlusion (RTAO) calculate ambient occlusion for scene surfaces? | pass→pass | 26,156 | 18,143 | -31% | 1 | 1 | 0% | 3,701 | 3,122 | -16% | 0 | 0 | — |
▸case-25 For dynamic particle systems with alpha blending (smoke, fire, sparks), can these effects write directly into G-buffer depth and normal targets during the deferred pass? | pass→pass | 17,964 | 17,622 | -2% | 1 | 1 | 0% | 2,681 | 2,504 | -7% | 0 | 0 | — |