
Learn 3D Game Programming from the Basics!
Description
Book Introduction
This book teaches and practices the principles of 3D rendering using C++ and OpenGL.
You will learn how polygons are displayed on the screen, game mathematics, shader programming, and spline techniques to understand the elements that make up 3D rendering.
Game engines like Unity and Unreal all use graphics APIs like OpenGL or DirectX to render 3D polygons.
If you simply use the engine, you may not even know that these hidden processes exist.
But once you understand these basic principles, you'll be able to use the game engine more freely.
Furthermore, you will be able to gain a much deeper understanding when analyzing the source code of a game engine.
You will learn how polygons are displayed on the screen, game mathematics, shader programming, and spline techniques to understand the elements that make up 3D rendering.
Game engines like Unity and Unreal all use graphics APIs like OpenGL or DirectX to render 3D polygons.
If you simply use the engine, you may not even know that these hidden processes exist.
But once you understand these basic principles, you'll be able to use the game engine more freely.
Furthermore, you will be able to gain a much deeper understanding when analyzing the source code of a game engine.
- You can preview some of the book's contents.
Preview
index
? Part 1.
3D Rendering Basics
CHAPTER 1.
Preparing for OpenGL
What is OpenGL?
Why use OpenGL?
Configuring the development environment
Create a window
organize
CHAPTER 2.
Drawing a triangle
Basic knowledge
Vertex buffer
Index buffer
organize
CHAPTER 3.
Color, texture mapping
Change polygon color
Texture mapping
Texture synthesis
organize
Part 2.
3D rendering principles
CHAPTER 4.
conversion
Translation, scale, and rotation matrices
Shader Programming Fundamentals
space
organize
CHAPTER 5.
Basic Mathematics
vector
Addition, subtraction, multiplication, inner product, and outer product of vectors
Trigonometric functions
Tangent, sine, cosine
Circles and Trigonometric Functions
Pi, radians
organize
CHAPTER 6.
Creating a rendering library
Class structure
Game Object
camera
Light
Scene
Mesh, Material, Shader
Loading OBJ files
Creating a 3D scene
organize
Part 3.
Shader Programming and Curves
CHAPTER 7.
Shader Programming
Monochromatic shader
Lighting techniques
Rim lighting
Create an outline
Adjust your body shape
organize
CHAPTER 8.
spline
Bezier splines
Hermit spline
Catmull-Rom spline
organize
In conclusion
References
3D Rendering Basics
CHAPTER 1.
Preparing for OpenGL
What is OpenGL?
Why use OpenGL?
Configuring the development environment
Create a window
organize
CHAPTER 2.
Drawing a triangle
Basic knowledge
Vertex buffer
Index buffer
organize
CHAPTER 3.
Color, texture mapping
Change polygon color
Texture mapping
Texture synthesis
organize
Part 2.
3D rendering principles
CHAPTER 4.
conversion
Translation, scale, and rotation matrices
Shader Programming Fundamentals
space
organize
CHAPTER 5.
Basic Mathematics
vector
Addition, subtraction, multiplication, inner product, and outer product of vectors
Trigonometric functions
Tangent, sine, cosine
Circles and Trigonometric Functions
Pi, radians
organize
CHAPTER 6.
Creating a rendering library
Class structure
Game Object
camera
Light
Scene
Mesh, Material, Shader
Loading OBJ files
Creating a 3D scene
organize
Part 3.
Shader Programming and Curves
CHAPTER 7.
Shader Programming
Monochromatic shader
Lighting techniques
Rim lighting
Create an outline
Adjust your body shape
organize
CHAPTER 8.
spline
Bezier splines
Hermit spline
Catmull-Rom spline
organize
In conclusion
References
Into the book
Matrix multiplication operations on a large number of vertices are better performed in parallel on the GPU, which exists in the graphics card, rather than on the CPU.
This creates a need to write programs in a form that the GPU can interpret.
--- p.109
This time, 3.14 came out again.
Since circles are all similar shapes regardless of size, the ratio of their diameter to their circumference always comes out to the same value.
This ratio is called pi, which is a bit difficult to understand, and is represented by pi (π).
You can see that this pi is always constant regardless of the size of the circle.
If you measure the diameter and circumference of any circular object around you, the ratio will always be 3.14, no matter what size it is.
--- p.190
If we repeat this calculation while appropriately increasing t from 0 to 1, we will be able to obtain the entire coordinates for creating a curve.
The smaller the increase range of t, the more calculated points there are, resulting in a more precise curve.
This creates a need to write programs in a form that the GPU can interpret.
--- p.109
This time, 3.14 came out again.
Since circles are all similar shapes regardless of size, the ratio of their diameter to their circumference always comes out to the same value.
This ratio is called pi, which is a bit difficult to understand, and is represented by pi (π).
You can see that this pi is always constant regardless of the size of the circle.
If you measure the diameter and circumference of any circular object around you, the ratio will always be 3.14, no matter what size it is.
--- p.190
If we repeat this calculation while appropriately increasing t from 0 to 1, we will be able to obtain the entire coordinates for creating a curve.
The smaller the increase range of t, the more calculated points there are, resulting in a more precise curve.
--- p.269
Publisher's Review
In practice, when programming 3D game clients, you will mainly use game engines such as Unity or Unreal to create games.
While it is important to be able to handle these engines well, ultimately, a solid understanding of the principles that make up an engine is the way to better use it.
This book reconstructs the principles of 3D rendering hidden inside a fancy engine using only C++ and OpenGL.
In this day and age where we create the software we want through vibe coding, this may seem like a somewhat inconvenient and slow method, but no engineer can deny the importance of basic science.
The good thing about this book is that it's easy.
Even if you don't have any professional 3D background knowledge, you will have no trouble following the book as long as you know C++ syntax.
In addition, game mathematics such as vectors and matrices, which seemed complicated, are explained step by step, starting from very simple principles and going up to the actual application.
Going through this process gave me the confidence that I could try my hand at game math, which was once boring and uninteresting.
Finally, you will get a taste of advanced 3D programming techniques by learning shader programming and spline techniques.
Although it doesn't go into great depth, it allows you to naturally step into difficult and unfamiliar fields.
I recommend this book to anyone who is tired of complicated, formula-filled 3D game programming books.
While it is important to be able to handle these engines well, ultimately, a solid understanding of the principles that make up an engine is the way to better use it.
This book reconstructs the principles of 3D rendering hidden inside a fancy engine using only C++ and OpenGL.
In this day and age where we create the software we want through vibe coding, this may seem like a somewhat inconvenient and slow method, but no engineer can deny the importance of basic science.
The good thing about this book is that it's easy.
Even if you don't have any professional 3D background knowledge, you will have no trouble following the book as long as you know C++ syntax.
In addition, game mathematics such as vectors and matrices, which seemed complicated, are explained step by step, starting from very simple principles and going up to the actual application.
Going through this process gave me the confidence that I could try my hand at game math, which was once boring and uninteresting.
Finally, you will get a taste of advanced 3D programming techniques by learning shader programming and spline techniques.
Although it doesn't go into great depth, it allows you to naturally step into difficult and unfamiliar fields.
I recommend this book to anyone who is tired of complicated, formula-filled 3D game programming books.
GOODS SPECIFICS
- Date of issue: November 17, 2025
- Page count, weight, size: 288 pages | 542g | 183*235*12mm
- ISBN13: 9791199483309
You may also like
카테고리
korean
korean