yoklainterview sim

Graphics / Rendering Game Development Interview Questions

450 verified Graphics / Rendering Game Development interview questions — solve with answers, learn from explanations, test yourself in a real simulation.

Try the real simulation →

Sample questions

Gfx Forward Deferred ArchitecturesDifficulty 1
In forward rendering, roughly how does the shading cost scale as both the number of objects and the number of lights grow?
  • aIt scales with the number of lights alone, independent of object count
  • bIt scales with the product of object count and light count
  • cIt scales with the sum of object count and light count
  • dIt scales with the number of objects alone, independent of light count
Explanation:Forward rendering shades each object once per light that affects it, so total shading work grows with object count multiplied by light count. Summing the two factors, or dropping either one, misses the fact that every extra light re-shades every affected object.
Gfx Forward Deferred ArchitecturesDifficulty 2
In deferred shading, the lighting pass cost is fundamentally proportional to what?
  • aThe number of objects multiplied by the number of lights
  • bThe number of polygons submitted to the vertex stage
  • cThe number of screen pixels multiplied by the number of lights
  • dThe number of objects alone, regardless of light count
Explanation:Deferred shading moves lighting into screen space: for every light, the shader touches the pixels that light affects, so the cost tracks screen resolution times light count rather than scene object count. Polygon count and object count alone describe geometry submission, not the lighting pass itself.
Gfx Forward Deferred ArchitecturesDifficulty 2
What is the core idea that separates deferred shading from forward rendering?
  • aIt renders every object twice at higher resolution for antialiasing
  • bIt replaces the depth buffer with a stencil buffer for visibility
  • cIt compresses all textures before the geometry pass runs
  • dIt separates shading from geometry, shading once per pixel from stored data
Explanation:Deferred shading first writes surface attributes (albedo, normal, roughness, depth) into buffers during a geometry pass, then computes lighting once per screen pixel by reading that stored data, independent of how many objects overlap that pixel. The other options describe unrelated or fabricated mechanisms.
Gfx Forward Deferred ArchitecturesDifficulty 3
A scene has relatively few objects but a very large number of small dynamic lights. Which architecture tends to handle this better, and why?
  • aDeferred, since lighting cost no longer depends on object-light overlap
  • bForward, because it always shades fewer pixels than deferred regardless of light count
  • cDeferred, because it renders every light as a separate full scene pass
  • dForward, because it stores light data in a G-buffer before shading
Explanation:With many lights, forward's per-object-per-light cost grows quickly since each light must be considered for every object it touches. Deferred instead evaluates each light against screen pixels, so the cost stops depending on object-light overlap counting, which is why it tends to scale better here. The other options invert the mechanism or invent behavior.
Gfx Forward Deferred ArchitecturesDifficulty 1
Which set of data does a typical G-buffer store per pixel?
  • aFinal lit color, shadow map texels, and the active light list
  • bOnly the final composited color and the frame's exposure value
  • cAlbedo, surface normal, roughness/metallic, and depth
  • dVertex positions in object space and the full transform matrix stack
Explanation:A G-buffer holds per-pixel surface attributes needed to shade later: albedo (base color), normal, roughness/metallic, and depth. The final lit color does not exist yet at this stage, and raw vertex positions or matrix stacks are not what gets stored per pixel.
Gfx Forward Deferred ArchitecturesDifficulty 2
Why is octahedral encoding often used to pack the surface normal into a G-buffer channel?
  • aIt stores the normal as three separate 32-bit floats for maximum precision
  • bIt converts the normal into a light index instead of a direction
  • cIt duplicates the normal into two full copies to reduce shading noise
  • dIt stores a unit normal in two components, not three
Explanation:Octahedral encoding maps a unit-length normal onto a 2D square, so only two components need to be stored; the third is reconstructed in the shader. This cuts the normal's footprint compared to storing three full components, directly reducing G-buffer bandwidth. The other options describe unrelated or contradictory schemes.

Test yourself against the 2850-question Game Development bank.

Start interview