### Geometry Theory

Every 3d model in every game is made up of a collection of vertices, edges, and faces. Remember that when you’re exploring the vibrant world of the Witcher 3, all you’re looking at are a collection of verts, edges, and polys. Just like, ew, Call Of Duty..

## What are these anyway?

Vertices are simply a coordinate in 3d space.
Edges are two vertices in 3d space connected together via a straight line.
Polygons are when a minimum of 3 vertices are joined together with at least 3 edges. Unlike the other two, polys are actually visible and not just a theoretical point in 3d space. Polys fill the space between 3 or more verts/edges with a colour or texture, and have a surface normal.

Triangles are the most basic form of poly and the one used by game engines because they’re truly flat, no matter where the vertices are. Tris have a surface normal of 90 degrees, like so:
However, modelling using tris will quickly become complicated and messy, so as a result, we use squares or ‘Quads’ for modelling. Unlike tris, quads are not truly flat, and can become creased if only one vert is moved – causing problems until it is converted to tris. However, they are a lot easier to model with, and can be replaced with tris later. Quads can also be triangulated or tessellated to replace them with tris, but game engines will often convert a quad to a tri automatically when imported.

There is a shape despised by 3d modellers and game engines alike. A shape so vile, so terrifying that light itself falls apart and game engines refuse to have any involvement with. This, is known simply as the N-GON.
n-gons are polys with more than 4 vertices and cannot be converted to triangles by a game engine. When modelling, it’s best to just try and avoid the plague of n-gons but if one does appear, you can tessellate the n-gon via polygon, manually place edges by connecting two vertices, or use the ‘insert vertex’ button when an n-gon is selected and placing a vertex. This will convert it into multiple triangles and place a vertex in the centre.

Surface normals determine the surface’s orientation towards a light source. For flat shading, the surface normal for each poly would be at 90 degrees consistently across the surface, leaving a noticeable crease between polys. However, in 1971, Henri Gouraud introduced a method of shading that has been named after him: Gouraud Shading. This estimates the average normal of the polys connected to it, and linearly interpolates the surface normals in between to achieve a smoother look.

Another method of smooth shading is Phong shading, introduced in 1973 by  Bui Tuong Phong. His method uses a smoothly varying surface normal across a poly, combined with ambient, diffuse, and specular colours to create a smooth look that is of much higher quality than the Gouraud method.

An example of smoothing groups from my own work is the Pokemon I made: Aubergenie

The capsule body of the Genie was created as one smoothing group to create the illusion that it was smooth instead of a bunch of faces. However the hair and teeth were not assigned to smoothing groups, so they appear flat and there is a visible seam between them.