计算机图形学名词概念

数学

四元数-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(布娃娃系统)

资料

计算机图形学常用术语:

https://zhuanlan.zhihu.com/p/32474263?yidian_docid=0IkOrf1N