1. 计算机图形学
是什么:一门研究“怎么让计算机把3D世界画得又逼真又好看”的学问。比如怎么模拟光照、阴影、反射,甚至爆炸特效。
举例:就像学画画的人要懂透视、光影,计算机图形学就是教计算机怎么“画画”的规则。
核心任务:把数学描述的3D场景(比如一堆球和方块的位置、颜色)变成一张2D图片,还能让画面看起来真实。
2. GPU
是什么:电脑里的“画图高手”,专门负责快速处理图形计算的硬件。
作用:
- 根据顶点数据(比如立方体的8个角坐标)生成3D模型。
- 计算每个像素的颜色(比如光照、阴影)。
- 把最终画面丢到显存里,让显示器能显示出来。
关键点: - 显存是GPU的“工作台”,存放渲染前后的数据(顶点、贴图、像素颜色)
1
。 - GPU和CPU分工:CPU负责指挥(比如告诉GPU“画个球”),GPU负责埋头苦干(快速画球)
4
3. OpenGL/DirectX
是什么:两套“画图工具包”,用来告诉GPU怎么干活。
区别:
- 本质:它们都是“翻译官”,把程序员写的代码(比如“画个带光照的球”)转成GPU能听懂的命令
4. Unity
是什么:一个“游戏制作神器”,普通人也能用它快速做3D游戏或动画。
作用:
- 打包了图形学、物理引擎、音效等功能,不用从头造轮子。
- 开发者只需拖拽模型、调参数,不用直接写OpenGL/DirectX代码
关键点: - Unity底层其实调用了OpenGL或DirectX(根据平台自动选)。
- 开发者通过材质(Material)和Shader控制画面效果
5. ShaderLab
是什么:Unity专用的“调色说明书”,用来写Shader(控制物体颜色、光照的小程序)。
作用:
- 告诉GPU怎么给模型上色(比如金属反光、皮肤通透感)。
- 封装了OpenGL的GLSL、DirectX的HLSL等语言,写一次就能跨平台用
举例: - 表面着色器(Surface Shader):傻瓜式调光照,适合新手。
- 顶点/片元着色器:更底层,能实现复杂特效(比如卡通描边)
它们的关系
用一条“生产流水线”比喻:
- 计算机图形学:制定“怎么画才好看”的规则(比如光线追踪算法)。
- GPU:流水线上的“画图工人”,按规则拼命画。
- OpenGL/DirectX:工人用的“画笔和颜料”(工具包),不同平台用不同牌子。
- Unity:整个“工厂”,提供现成的流水线(物理、动画、渲染),让老板(开发者)轻松管理。
- ShaderLab:工厂里的“调色指南”,告诉工人具体怎么涂颜色、加特效。
总结:
- 图形学是理论,GPU是硬件,OpenGL/DirectX是底层工具,Unity是上层工具,ShaderLab是Unity的一部分。
- 普通人用Unity+ShaderLab就能做游戏,高手可能直接用OpenGL/DirectX调教GPU