# Labs B (Spring 2026)

- [Ray Tracing in One Weekend Tutorial Series](/graphics/readme/labs-b-spring-2026/ray-tracing-in-one-weekend-tutorial-series.md)
- [Common Ray Tracing Scenes for Testing](/graphics/readme/labs-b-spring-2026/common-ray-tracing-scenes-for-testing.md)
- [Lab B01 Ray Casting and Visibility](/graphics/readme/labs-b-spring-2026/lab-b01-ray-casting-and-visibility.md): Seeing the scene
- [T1 Set up Your Project and Output an Image](/graphics/readme/labs-b-spring-2026/lab-b01-ray-casting-and-visibility/t1-set-up-your-project-and-output-an-image.md)
- [T2 Adding vec.h and color.h (easy)](/graphics/readme/labs-b-spring-2026/lab-b01-ray-casting-and-visibility/t2-adding-vec.h-and-color.h-easy.md)
- [T3 Create the Ray class (easy)](/graphics/readme/labs-b-spring-2026/lab-b01-ray-casting-and-visibility/t3-create-the-ray-class-easy.md)
- [T4 Casting Rays Through Pixels](/graphics/readme/labs-b-spring-2026/lab-b01-ray-casting-and-visibility/t4-casting-rays-through-pixels.md)
- [T5 Adding a Sphere](/graphics/readme/labs-b-spring-2026/lab-b01-ray-casting-and-visibility/t5-adding-a-sphere.md)
- [T6 Show Surface Normal as Colours](/graphics/readme/labs-b-spring-2026/lab-b01-ray-casting-and-visibility/t6-show-surface-normal-as-colours.md)
- [Lab B02 Supersampling and Recursive Ray Tracing](/graphics/readme/labs-b-spring-2026/labb02.md): Making surfaces look real
- [T1 Add hittable Classes](/graphics/readme/labs-b-spring-2026/labb02/t1-add-hittable-classes.md)
- [1.1 Hit Record class (Easy)](/graphics/readme/labs-b-spring-2026/labb02/t1-add-hittable-classes/1.1-hit-record-class-easy.md)
- [1.2 the Sphere Class as a hittable](/graphics/readme/labs-b-spring-2026/labb02/t1-add-hittable-classes/1.2-the-sphere-class-as-a-hittable.md)
- [1.3 List of hittable Objects as the World](/graphics/readme/labs-b-spring-2026/labb02/t1-add-hittable-classes/1.3-list-of-hittable-objects-as-the-world.md)
- [1.4 Utility Functions (Easy)](/graphics/readme/labs-b-spring-2026/labb02/t1-add-hittable-classes/1.4-utility-functions-easy.md)
- [T2 Revise main.cpp (Milestone 1)](/graphics/readme/labs-b-spring-2026/labb02/t2-revise-main.cpp-milestone-1.md)
- [T3 Add interval.h](/graphics/readme/labs-b-spring-2026/labb02/t3-add-interval.h.md)
- [T4 Use the Camera Class](/graphics/readme/labs-b-spring-2026/labb02/t4-use-the-camera-class.md)
- [T5 Supersampling (Milestone 2)](/graphics/readme/labs-b-spring-2026/labb02/t5-supersampling-milestone-2.md)
- [T6 Recursive Diffuse (Milestone 3)](/graphics/readme/labs-b-spring-2026/labb02/t6-recursive-diffuse-milestone-3.md)
- [T7 Adding Gamma Correction](/graphics/readme/labs-b-spring-2026/labb02/t7-adding-gamma-correction.md)
- [Lab B03 Material, Reflection, Refraction, and Camera Control](/graphics/readme/labs-b-spring-2026/labb03.md)
- [T1 Add an abstract class material](/graphics/readme/labs-b-spring-2026/labb03/t1-add-an-abstract-class-material.md)
- [T2 Add a lambertian material inherits class material](/graphics/readme/labs-b-spring-2026/labb03/t2-add-a-lambertian-material-inherits-class-material.md)
- [T3 Reflection (Milestone 1)](/graphics/readme/labs-b-spring-2026/labb03/t3-reflection-milestone-1.md)
- [T4 Refraction (Milestone 2)](/graphics/readme/labs-b-spring-2026/labb03/t4-refraction-milestone-2.md)
- [T5 Position and Orient the Camera (Milestone 3)](/graphics/readme/labs-b-spring-2026/labb03/t5-position-and-orient-the-camera-milestone-3.md)
- [T6 The Final Scene (Milestone 4)](/graphics/readme/labs-b-spring-2026/labb03/t6-the-final-scene-milestone-4.md)
- [Lab B04 Axis-Aligned Bounding Box, Texture Mapping and Light Sources](/graphics/readme/labs-b-spring-2026/labb04.md)
- [T1 AABB Box (MS1)](/graphics/readme/labs-b-spring-2026/labb04/t1-aabb-box-ms1.md)
- [T2 Texture Mapping (MS2)](/graphics/readme/labs-b-spring-2026/labb04/t2-texture-mapping-ms2.md)
- [T3 Using Images as Textures (MS3)](/graphics/readme/labs-b-spring-2026/labb04/t3-using-images-as-textures-ms3.md)
- [T4 Adding Quadrilaterals (MS4)](/graphics/readme/labs-b-spring-2026/labb04/t4-adding-quadrilaterals-ms4.md)
- [T5 Light Source and the Cornell Box (MS5)](/graphics/readme/labs-b-spring-2026/labb04/t5-light-source-and-the-cornell-box-ms5.md)
- [Lab B05 Hardware-accelerated Ray Tracing](/graphics/readme/labs-b-spring-2026/lab-b05-hardware-accelerated-ray-tracing.md): from sharp images to realistic light
- [T1 Ray Tracing Wrap-up : Instancing (optional)](/graphics/readme/labs-b-spring-2026/lab-b05-hardware-accelerated-ray-tracing/t1-ray-tracing-wrap-up-instancing-optional.md)
- [T2 Running Hardware Ray Tracing Tutorial Examples](/graphics/readme/labs-b-spring-2026/lab-b05-hardware-accelerated-ray-tracing/t2-running-hardware-ray-tracing-tutorial-examples.md)
- [Lab B06 B07 Skeletal Animation](/graphics/readme/labs-b-spring-2026/labb06_anim.md)
- [T0 Run the Scaffold Code](/graphics/readme/labs-b-spring-2026/labb06_anim/t0-run-the-scaffold-code.md)
- [T1 Add the Bone class](/graphics/readme/labs-b-spring-2026/labb06_anim/t1-add-the-bone-class.md)
- [T2 Add Bone Info in Mesh](/graphics/readme/labs-b-spring-2026/labb06_anim/t2-add-bone-info-in-mesh.md): Mesh.h, Mesh.cpp
- [T3 Adding Animation Classes](/graphics/readme/labs-b-spring-2026/labb06_anim/t3-adding-animation-classes.md)
- [T4 Adding the bone shader](/graphics/readme/labs-b-spring-2026/labb06_anim/t4-adding-the-bone-shader.md)
- [T5 Let's animate](/graphics/readme/labs-b-spring-2026/labb06_anim/t5-lets-animate.md): main.cpp
- [Lab B08 Cloth Simulation Using the Mass-Spring Model](/graphics/readme/labs-b-spring-2026/lab_cloth.md)
- [T1 Run the Starter Project](/graphics/readme/labs-b-spring-2026/lab_cloth/t1-run-the-starter-project.md)
- [T2 Apply the force](/graphics/readme/labs-b-spring-2026/lab_cloth/t2-apply-the-force.md)
- [T3 Calcuate acceleration and velocity](/graphics/readme/labs-b-spring-2026/lab_cloth/t3-calcuate-acceleration-and-velocity.md)
- [T4 Add Spring Force using Hooke's Law](/graphics/readme/labs-b-spring-2026/lab_cloth/t4-add-spring-force-using-hookes-law.md)
- [T5 Collision Detection with a Sphere](/graphics/readme/labs-b-spring-2026/lab_cloth/t5-collision-detection-with-a-sphere.md)
- [Further Reading on Using Compute Shaders](/graphics/readme/labs-b-spring-2026/lab_cloth/further-reading-on-using-compute-shaders.md)
- [Lab B10 Particle Systems (TD)](/graphics/readme/labs-b-spring-2026/lab-b10-particle-systems-td.md)
- [Labs B11 Play with Water Rendering in Slang (TD)](/graphics/readme/labs-b-spring-2026/labs-b11-play-with-water-rendering-in-slang-td.md)
