Graphics

Graphics
ExisfarGraphics
求职
Learning Loadmap
-
c++基础
-
图形学基础
-
图形学API,先学opengl
-
现代图形API,vulkan或者metal,推荐vulkan tutorial
-
工程能力,没事多做算法题(不用太难),学习各种开源项目
-
对现代API进行适度封装(先参考别人的做法),学习渲染技术(比如games 202)并自己实现
-
推荐RTR4,不要太早看
-
至少一款dcc软件,max,maya,blender或者别的什么。
-
基础的图形常识:各种贴图是干啥的,怎么制作出来的,怎么修改。uv是啥,怎么利用uv。
-
基础的图形编程能力:至少能看懂hlsl或者cg吧。虽然unity现在也有graph节点了,但很多文献还是cg或者hlsl甚至glsl写的。
-
对渲染管线有基本的了解:至少知道一帧图像的渲染过程。即使是用shader graph或者材质蓝图,也需要知道这些基础知识。不然连顶点着色器和像素着色器都分不清……
-
上边说的是最最最最最最基础的内容,只会这些肯定无法成为一名技术美术。根据个人方向需要深入学习包括但不限于:编程语言(c++, c#, python或者其他什么东西),各种光照模型,各种物理模拟算法,各种特效制作方法,各种dcc插件编写,各种引擎插件编写,各种材质效果做法,高数线代……所以可以先把基础的学了,再看对哪一块感兴趣再深入学习。
Rendering
RTR + GPU GAMES 1 ~ 3 + GPU Pro 1 ~ 7
工具
DirectX
Unity
- Catlike coding: C# and Shader Tutorials for the Unity Engine
- Catlike coding: Godot Engine 4 Tutorials
还有一个需要注意的是catlikecoding的教程中学到的东西可能会和先前的知识有冲突,这时候尽量不要死磕,一般在后面一点的章节会给出答案,往下看就是。
一些图形学的库
- OpenGL:老牌API,基于状态机。简单易学但是已经不更新了。之后或许会被淘汰。
- WebGL:OpenGL的一个子集的Javascript API。
- DirectX:微软的图形学API,只能用于Windows,DX11与12有较大不同,后者更接近底层。
- WebGPU:一个很贴近GPU底层的API规范(但是注意不是直接面向底层)。当初设计的时候是想取代WebGL的。照理说是比OpenGL高级的。但是实际上比OpenGL难写多了。注意,虽然它名字带个Web,实际上它也支持原生,有C的API和原生的Rust API。当然支持最好的应该是Javascript的。比Vulkan稍稍简单,和Metal差不多。
- Wgpu:WebGPU的Rust实现。
- Dawn:WebGPU的C++实现。
- Vulkan:一个很接近底层的图形学API,全平台通用(不包含Web)。原生是C API,也有C++和Rust的绑定。难学难用。但是或许是未来的趋势。
- Metal:苹果的图形学API,不了解不评价。据说比较易学,但也不跨平台。
- SDL:是个高级库,有例如drawrect这样的函数,但是因为它是模块化的,它的窗口管理模块常常被拆开拿来用。
- GLFW:一个窗口管理库,比SDL更轻量。不能绘图。只是帮你封装了一下系统api而已。原先是为OpenGL设计的,但本身和OpenGL关系不大。也可以给Vulkan之类的用。
- GLM:数学库,旨在C++里一比一还原GLSL的语法。我认为不太好用。
Comment
匿名评论隐私政策