3D Fundamentals Series

From Chilipedia
Jump to: navigation, search

The 3D Fundamentals series teaches the math, algorithms, and physics (optics) theories and methods that underpin all modern realtime 3D graphics. The way we accomplish this is by creating a complete software 3D engine from scratch. The goal of this series is to provide a foundation of knowledge that will make it much easier to learn a hardware API like Direct3D or OpenGL or a pre-made engine like Unity or Unreal Engine.

List of Tutorials

Tutorial Number Title Release Date Runtime
0 3D Fundamentals [Introduction] September 30, 2016 7:43
This video serves as an introduction to the 3D fundamentals series, stating the goals and methods of the series as well as the prerequisites needed to follow along.
1 3D Fundamentals [Framework Tour] October 26, 2016 28:45
This video gives a quick tour of the framework we're going to be using to explore the concepts of realtime 3D graphics. The intended audience is mainly people coming to the 3D Fundamentals series without experience in my other tutorials.
2 3D Fundamentals [3D Space/Indexed Vertices] November 5, 2016 28:22
In this video we lay the groundwork needed to represent and transform positions and 3D space, we define the relationship between our 3D space and the screen coordinates, and we setup a data structure to hold our test cube geometry.
3 3D Fundamentals [3D Rotations] November 25, 2016 26:36
In this video we start from the canonical 2D rotation transformation matrix and extend it to 3D to derive rotation around the Z, Y, and X-axes. We also jerk off said axes, using the left-hand rule of course (right hand is busy with the mouse).
4 3D Fundamentals [3D Perspective Projection] December 26, 2016 28:25
In this video we find out why things look smaller the farther away they are. What does that have to do with projection? I'll tell you... all this science is making me so horny, mah dick is gonna project right out of these pants gurl.
5 3D Fundamentals [Triangle Rasterization] February 10, 2017 31:29
In this video we find out what's the deal with triangles, and how we deal with the pointy little fuckers and make them our bitch.
6 3D Fundamentals [Backface Culling] March 5, 2017 35:18
Get rid of those dirty back-facers, we don't serve their kind here. Also, learn the new sex move that is taking New England by storm: the Bridgeport Shocker.
7 3D Fundamentals [Texture Mapping] June 10, 2017 44:18
Textures. Put purdy pictures onto your triangles. Lot of interpolation and stuff.
8 3D Fundamentals [3D Pipeline] September 28, 2017 18:38
Here we set up the pipeline that is going to form the scaffolding for our model of the 3D graphics processing. In the coming videos, we are going to be replacing units of fixed functionality in this pipeline one by one with programmable shader stages.
9 3D Fundamentals [Pixel Shader] September 30, 2017 23:08
In this tutorial we incorporate our first shader stage into the 3D pipeline: the pixel shader stage. We also explore some basic example pixel shaders (more heavy-duty stuff to come later).
10 3D Fundamentals [Perspective Correction] October 20, 2017 17:10
In this tutorial we get the butt wiggling texture to respect our authoritae! In other words, we upgrade our affine texture mapping to perspective-correct texture mapping, putting the kibosh on the fucked-up texture distortion.
11 3D Fundamentals [Z-Buffer] November 5, 2017 16:12
Things that are behind get covered up by things that are in front.
12 3D Fundamentals [Vertex Shader] November 16, 2017 13:08
The vertex shader is the one of the two original shaders introduced in Direct3D 8, and it is the only shader besides the pixel shader that must be provided before triangles can be rendered. It's kind of a big deal.
13 3D Fundamentals [Geometry Shader] December 25, 2017 19:08
The geometry shader is a funky little shader stage added in Direct3D 10. It is weird and powerful and versatile, so we are including it in our basic software rasterization pipeline. It is the last type of shader stage that will be covered in this series.