What Will You Learn?
- What are 3D graphics?
- What are the use cases for 3D graphics?
- What are the basics of 3D graphics?
- Where can I learn more about 3D graphics?
Learn 3D Graphics fundamentals, then progress to more complex studies.
The idea of 3D graphics has been around since 1961 and has significantly evolved. I’ll walk you through the basics of 3D graphics development.
Primary Use Cases
- Video games and movies
- Planning real-world architecture
- Interactive software experiences
- Modeling reality
My primary use case is building interactive software experiences. The following content is tailored with that in mind, but will stay abstract enough to help you learn fundamental concepts.
3D graphic development starts with modeling your 3D objects. We must define the constraints. We must define the purpose of our 3D model.
Geometry is the components of a 3D object.
A Vertex is a single point in space typically represented by x,y, and z coordinates.
The Vertices are a collection of vertex values that define a 3D object’s points.
The Edge is a line between two vertices.
The Faces are a closed set of edges.
UV Point & UV Space
UV Mapping is mapping a 2D image to a 3D model.
Meshes are a common way of modeling 3D objects. Meshes are typically made up of triangles so the shapes can fit into a plane.
A mesh is a collection of vertices, edges, and faces that define the shape of a 3D object.
- A vertex is a single point.
- An edge is a straight line segment that connects two vertices.
- A face is a flat surface enclosed by edges.
We should input little data to render a large amount of data.
You’ll want to define constraints and requirements when moving to the rendering process. Do you need an extremely detailed scene? Is a lower resolution required for quick rendering?
Lighting in your renders adds depth to your objects. Without illumination, your objects will look flat and lifeless, and with illumination, your objects will look realistic.
Graphic pipelines start with vertices and end with pixels. It is a conceptual model that defines how to render a 3D scene on a 2D screen.
Learn 3D Graphics - Beyond the Basics
- The Whirlwind Introduction to Computer Graphics Page - Mike Bailey, OSU Computer Science Teacher
- Pixar in a Box - Khan Academy
- Blender - An open-source 3D creation suite
- Babylon.js - A nodejs module meant to simplify 3D graphics development
- Babylon.js Playground - Experiment with rendering 3D scenes with the Babylon.js library
- Khronos WebGL Rendering - Debug WebGL problems