← NVIDIA Interview Insights

NVIDIA·Software Engineer·Technical Phone Screen·Senior

SeniorPrefer not to say
Jul 2026

Summary

NVIDIA graphics/compute engineering interview that went deep into the math behind rendering pipelines. The question was essentially a written proof with a numeric example tacked on, which I was not fully expecting from a software engineering screen.

Questions Asked (1)

Q1

Walk through the full model-view-projection pipeline using homogeneous coordinates. Derive how a 3D world-space point ends up in normalized device coordinates and then screen space, and explain why normals require the inverse-transpose of the model matrix rather than the model matrix itself. Include a concrete numeric example.

System DesignTechnical Trade-offsAlgorithms & Data Structures
Author's notes

This wrecked me a little.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by defining the coordinate spaces and the transformation matrices (model, view, projection) in homogeneous coordinates. Then walk through the pipeline step-by-step, showing how a point is transformed from world space to NDC and then to screen space, and explain the normal transformation with the inverse-transpose. Finish with a concrete numeric example to solidify the explanation.

Pro tip: Emphasize that normals are covectors and transform differently from points; using the inverse-transpose preserves perpendicularity under non-uniform scaling. Mention that this is crucial for correct lighting in real-time rendering, a key concern at NVIDIA.

1. Define coordinate spaces and homogeneous coordinates

Explain that homogeneous coordinates add a fourth component w to represent points and vectors, enabling affine transformations as matrix multiplications. List the spaces: object, world, view (eye), clip, NDC, and screen.

2. Describe the transformation matrices

Detail the model matrix (object to world), view matrix (world to eye), and projection matrix (eye to clip). Mention that these are 4x4 matrices and how they are composed.

3. Walk through the pipeline with homogeneous coordinates

Show the sequence: p_clip = P * V * M * p_object. Then perform perspective division (divide by w) to get NDC, and finally apply viewport transform to get screen coordinates.

4. Explain normal transformation

Derive why normals require the inverse-transpose: if a point transforms by M, a normal (as a covector) transforms by (M^{-1})^T to remain perpendicular to the surface. Show that using M directly would skew normals under non-uniform scaling.

5. Provide a concrete numeric example

Choose a simple point (e.g., (1,0,0,1)) and simple matrices (e.g., translation and scaling) to compute the final screen coordinates. Also show a normal transformation with a non-uniform scale to illustrate the inverse-transpose.

Key Points to Mention

  • Homogeneous coordinates allow translation to be represented as a matrix multiplication.
  • The model-view-projection matrix is often pre-multiplied for efficiency.
  • Perspective division by w is what achieves the perspective effect.
  • Normals are transformed by the inverse-transpose to preserve orthogonality to the surface.
  • Non-uniform scaling is a common case where using the model matrix for normals fails.
  • The viewport transform maps NDC to screen coordinates using the viewport dimensions.

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.