计算机图形学名词概念
数学
四元数-Quaternion
Quaternion:/kwəˈtɜːrnɪən/ 注意重音在后面。
大多数人用汉密尔顿四元数就只是做三维空间的旋转变换。
在Three.js的各种Controls中,就可以看到四元数的应用。
https://www.zhihu.com/question/23005815/answer/33971127
https://www.3dgep.com/understanding-quaternions/
渲染
深度测试
DrawCall
Draw Call就是CPU调用图形编程接口,比如DirectX或OpenGL,来命令GPU进行渲染的操作。
例如,DirectX中的DrawIndexedPrimitive命令,OpenGL中的glDrawElement命令。
graph LR
a("CPU处理数据、检查渲染状态等") --> b("CPU将数据、状态、命令等发送到命令缓冲区(Command Buffer)") --> c("GPU从命令缓冲区中取出命令,执行渲染")
所以减少DrawCall,解决的是CPU的问题。
命令缓冲区中的命令有很多种类,而Draw Call是其中的一种,其它命令还有改变渲染状态等命令(改变使用的Shader,使用不同的纹理等)。
设计关键:缓冲队列、Draw Call合批处理
参考:https://www.jianshu.com/p/061b84e4f863
DrawCall合批
Pass
一个 pass 就是走完图形渲染的流程(VS->GS->PS),从而得到一帧数据的过程
SetPassCall
ShadowMap
Forward Render(前向渲染)
渲染管线
这是详细的解说:
这个文章讲解得很清晰:
https://zhuanlan.zhihu.com/p/61216531
https://zhuanlan.zhihu.com/p/137780634
黑暗之潮的Unity自定义URP渲染管线:
https://zhuanlan.zhihu.com/p/355729231
动画
Ragdoll(布娃娃系统)
资料
计算机图形学常用术语: