Theme Catppuccin
Make yourself at homeCatppuccin

A softer light for long learning sessions.

Appearance

Loading your preference…

Dark palette

Choose a dark palette to try it.

Light uses Latte. Your choices stay in this browser.

Finish the observatory

SKETCHBOOK / 08 The exhibition room · 2-week chapter

Page 1 of 3: Ask what the light can see

Two passes, two spaces

Ask what the light can see

For one directional light, render the room’s occluders into a depth texture from the light’s view using a supported orthographic volume. The camera pass transforms a surface into that same light clip space, performs the appropriate divide and range mapping, and compares its depth with the stored value.

Define behavior outside the light volume and make the shadow texture’s sampling/comparison policy explicit. A small bias can reduce self-shadow artifacts, but excessive bias detaches shadows. Resolution and the chosen light volume determine useful detail; a larger texture alone does not repair a bad projection.

Begin with one box casting onto the floor. Inspect the depth map and transformed light coordinates separately. The first capstone shadow map is a learner implementation, not a feature supplied by the triangle starter, and it is not a complete robust shadow system for arbitrary scenes.

TRY IT IN YOUR STUDIO

Add one directional shadow pass. Save the depth-debug view and the camera result. Explain the light volume, bias, and outside-volume policy.

From the page to your own work

Your studio assignment.

Close the project with one bounded shadow and repetition study.

A finish line you can see

Your original observatory, shadow debug capture, repeated-marker comparison, and concise case study.

  1. Show a directional shadow with stated volume and bias limits.
  2. Validate per-instance layout/counts and compare one fixed workload.
  3. Package your contribution, tests, diagnostics, run steps, and one limitation.
Keep the evidence in your weekly notebook ↗
Explain it like an engineer

Try answering aloud before opening the review notes. Use your own implementation as evidence.

How would you diagnose a missing shadow without rewriting the renderer?
  • Inspect depth-target completeness and light-pass geometry first.
  • Compare light-space transform, range mapping, sampler and bias next.
  • Use one controlled occluder and preserve the failing case.

These prompts support practice; they are not an automatic assessment of your work.

A small creative variation ↗

Create one alternate camera composition with the same rendering features and stop there.

Optional. Save it for later if this chapter already feels full.

Coming back after a break? ↩

Run the room with shadows and instancing disabled; restore one feature at a time.

Books & principles behind this study +

Original Parallax explanations and assignments, with these works for further reading.

YOUR MARGIN NOTES

Leave yourself a good question.

What changed your mind? What would you try next?

Notes are private to this browser and saved as you write.

A CHECKPOINT, NOT A SCORE

Can you explain the idea and try the exercise yourself?

Completion records your own assessment. It does not compile or test your C++.
Companion source 4 files