A flat screen can suggest a 3D world#
A display is a grid of colored pixels. It has no actual depth. A 3D engine creates the impression of depth by projecting shapes from a virtual world onto that grid, deciding which surfaces cover others, and calculating colors that suggest light and material. You can understand those decisions before learning C++. Start by manipulating the illustrations. The same ideas reappear in the DX12 handbook with precise memory ownership and API calls.
A connected learning path#
- How 3D works turns a triangle into covered pixels and interpolated values.
- Transforms and cameras separates object movement, camera movement, and perspective.
- Meshes and textures connects vertices, indices, UVs, and sampled image data.
- Shaders and lighting explains the small programs that compute vertex positions and surface color.
You do not need to memorize the equations to begin. Watch what changes and describe the result: the far object appears smaller; the nearest surface covers another; a rough surface spreads a highlight. The implementation chapters give those observations exact contracts.
Three useful words#
A vertex is a point with extra data. A mesh is an organized set of connected triangles. A shader is a program run by the GPU to transform or shade that data. These words describe roles, not magic shortcuts. The CPU coordinates the scene and records work. The GPU executes many similar operations over vertices and pixels. Both need access to the relevant data, and that data must remain valid while they use it. An advanced engine adds layers of scheduling around these same foundations.
Choose a chapter#
How a 3D world becomes pixels
A gentle walk from geometry through projection, triangle coverage, interpolated color, and depth testing.
Explore chapter Learn / CHAPTERTransforms & cameras
Move an object, orbit a camera, and change perspective while keeping each coordinate space clear.
Explore chapter Learn / CHAPTERMeshes & textures
Understand connected vertices, UV coordinates, texture sampling, mipmaps, and why an image file needs a transfer before a shader can read it.
Explore chapter Learn / CHAPTERShaders & lighting
Meet vertex and pixel shaders, surface normals, diffuse and specular response, shadows, and linear HDR color.
Explore chapter