What is 3D graphics?
Since computer screens are essentially two-dimensional; 3D graphics are just 2D optical illusions that trick your brain into thinking it is seeing a 3D object.
A 3D graphics engine works by calculating what 2D shapes a 3D object would project on to the screen.
Therefore to write our own 3D engine, we need to know how to do these calculations. Our program won't be as quick as most 3D engines but it should help us understand the principles of how they work.
Representing shapes
A 3D graphics engine takes a 3D object and converts into 2D graphics, but how do we represent a 3D object in code?
A single point in 3D space is easy to represent using an array of three numbers. For example, we can use [30, 80, 55] to represent a point 30 pixels along the horizontal (x) axis, 80 pixels along the vertical (y) axis, and 55 pixels along the axis that goes into and out of the screen.
Representing a line is also easy: you just connect two points. One way to represent an object in 3D, therefore, is by converting it into a group of lines. This is called a wireframe, as it looks like the object is made from wire. It's obviously not ideal for representing solid objects, but it's a good place to start.
Terms
A wireframe cube.
Below are some terms I will use when refering to 3D shapes. Other terms might be used elsewhere, but I like these ones.
Node: a point (also be called a vertex) represented by three coordinates, x, y and z.
Edge: a line connecting two points.
Face: a surface defined by at least three points.
Wireframe: a shape consisting of just nodes and edges.
Are you looking to get started with designing 3D graphics? well you can try out some of the free software available on the market. Click Here to check out free 3D software