免费 3D计算机图形学编程指南 3D Computer Graphics Programming
本课程是对计算机图形学基础的全面深入探索!您将了解到软件3D引擎内部的工作原理,并使用C编程语言从零开始编写一个完整的软件光栅化器;内容涵盖纹理、摄像机、裁剪以及加载复杂的OBJ文件处理。我们将一步步地,从每一个像素、每一个三角形、每一个网格出发进行构建。
从零开始的3D编程 在从最基本的原则出发探讨所有概念的同时,我们还将复习所有构成三维计算机图形学之美的数学知识。此外,我们将编写一个全面的软件渲染器,无需任何图形API的帮助,就能在屏幕上展示复杂的3D对象。无需GPU、OpenGL或DirectX!仅需一个C编译器和一点点线性代数知识,我们就能创造出一个令人惊叹的最终项目!
├──01 Introduction
├──02 Compiling our Project
├──03 SDL Setup and Color Buffer
| └──attachments
├──04 Multiple Header Files
| └──attachments
├──05 Vectors and Points
├──06 Projecting Points
| └──attachments
├──07 Linear Transformations
| └──attachments
├──08 Fixed Time Step
| └──attachments
├──09 Triangles and Vertices
| └──attachments
├──10 Line Drawing
| └──attachments
├──11 Dynamic Arrays
| └──attachments
├──12 OBJ Files
| └──attachments
├──13 Vector Operations
| └──attachments
├──14 Triangle Rasterization
| └──attachments
├──15 Sorting Faces by Depth
| └──attachments
├──16 Matrices
| └──attachments
├──17 3D Matrix Transformations
| └──attachments
├──18 Projection Matrix
| └──attachments
├──19 Light and Shading
| └──attachments
├──20 Texture Mapping
| └──attachments
├──21 Perspective Correct Textures
| └──attachments
├──22 Decoding PNG Files
| └──attachments
├──23 Textured OBJ Files
| └──attachments
├──24 Z-Buffer
| └──attachments
├──25 Camera
| └──attachments
├──26 Clipping
| └──attachments
├──27 Code Polishing & Refactoring
| └──attachments
├──28 Multiple Meshes
| └──attachments
├──29 CPU vs(1). GPU Rasterization
| ├──attachments
| | ├──trianglerasterizer-230326-202115.zip 7.64kb
| | ├──trianglerasterizer-230326-202147.zip 7.37kb
| | ├──trianglerasterizer-230326-202219.zip 7.48kb
| | ├──trianglerasterizer-230326-202640.zip 6.98kb
| | ├──trianglerasterizer-230326-203744.zip 7.82kb
| | └──trianglerasterizer-230326-204609.zip 7.25kb
| ├──09 A Fixed-Point Rasterizer.txt 2.45kb
| ├──29.01 Dedicated Graphics Cards.mp4 66.80M
| ├──29.01 Dedicated Graphics Cards.srt 14.08kb
| ├──29.01 Dedicated Graphics Cards.vtt 14.89kb
| ├──29.02 Modern Graphics APIs & Shaders.mp4 91.53M
| ├──29.02 Modern Graphics APIs & Shaders.srt 18.57kb
| ├──29.02 Modern Graphics APIs & Shaders.vtt 20.13kb
| ├──29.03 A Parallel Rasterization Algorithm.mp4 85.19M
| ├──29.03 A Parallel Rasterization Algorithm.srt 26.95kb
| ├──29.03 A Parallel Rasterization Algorithm.vtt 28.05kb
| ├──29.04 Determining Point Inside Triangle.mp4 64.21M
| ├──29.04 Determining Point Inside Triangle.srt 19.75kb
| ├──29.04 Determining Point Inside Triangle.vtt 21.44kb
| ├──29.05 Top-Left Rasterization Rule.mp4 64.57M
| ├──29.05 Top-Left Rasterization Rule.srt 22.73kb
| ├──29.05 Top-Left Rasterization Rule.vtt 23.64kb
| ├──29.06 Edge Function & Barycentric Weights.mp4 55.21M
| ├──29.06 Edge Function & Barycentric Weights.srt 18.23kb
| ├──29.06 Edge Function & Barycentric Weights.vtt 19.27kb
| ├──29.07 Edge Function & Constant Increments.mp4 74.53M
| ├──29.07 Edge Function & Constant Increments.srt 22.59kb
| ├──29.07 Edge Function & Constant Increments.vtt 24.32kb
| ├──29.08 Subpixel Rasterization.mp4 93.13M
| ├──29.08 Subpixel Rasterization.srt 31.09kb
| └──29.08 Subpixel Rasterization.vtt 32.66kb
├──29 CPU vs. GPU Rasterization
| └──attachments
├──30 Conclusion and Next Steps
└──30 Conclusion and Next Steps(1)
| ├──01 Modern Hardware 3D Techniques.html 146.71kb
| ├──02 Older Hardware 3D Techniques.html 3.51M
| ├──30.03 Next Steps.mp4 51.56M
| ├──30.03 Next Steps.srt 14.33kb
| └──30.03 Next Steps.vtt 15.45kb
https://pan.baidu.com/s/141zkxm5s8-G9hj6Ycgclow?pwd=ir1h#list/path=%2F