Skip to content
What 3D Renderers Solve
step 1/5

Reading — step 1 of 5

Read

~1 min read3D Math

What 3D Renderers Solve

A 3D renderer turns a scene description (geometry + materials + lights + camera) into a 2D image.

Scene + Camera → Renderer → 2D Image

Two main approaches:

1. Rasterization (real-time graphics):

  • For each triangle, figure out which pixels it covers.
  • Compute color per pixel.
  • Standard for games, GPUs.

2. Ray tracing (offline / modern hybrid):

  • For each pixel, cast a ray into the scene.
  • Find what it hits.
  • Compute color (recursive for reflections).
  • Standard for films, modern AAA hybrid (RTX).

Real engines:

  • OpenGL / Vulkan / DirectX / Metal: GPU APIs.
  • Unity / Unreal: full engine, abstracts API.
  • Blender Cycles: production ray tracer.
  • PBRT (Physically Based Ray Tracing): research engine + textbook.
  • Three.js: browser 3D.
  • Bevy: Rust + WGSL.

We'll cover the math + key algorithms. Note: full image rendering is hard to test via stdin/stdout (binary pixel comparison fragile). We test:

  • Vector + matrix math.
  • Ray-shape intersections.
  • Triangle setup.
  • Per-ray color calculations.
  • Geometric transformations.

You can build the renderer alongside; tests verify the building blocks.

Reference: Real-Time Rendering (Akenine-Möller), Physically Based Rendering (Pharr), Scratchapixel.com.

Key concepts:

  • Vertex: a 3D point.
  • Triangle: 3 vertices.
  • Mesh: collection of triangles.
  • Material: how surfaces respond to light.
  • Light: a light source.
  • Camera: viewpoint + projection.
  • Frame buffer: 2D pixel array.

Discussion

Ask a question, share an insight, or help someone who’s stuck.

Sign in to post a comment or reply.

Loading…