图形学学习
文章平均质量分 87
荡秋千的猪猪
这个作者很懒,什么都没留下…
展开
-
图形学基础知识点易混淆
渲染管线:应用阶段 —— 几何阶段 —— 光栅化阶段应用阶段,主要就是加载显存,设置渲染状态(场景,相机,模型,灯光,材质,纹理),调用Draw Call,也就是CPU向GPU发送渲染命令,来渲染指定图元。几何阶段,拿到图元/三角网格顶点所包含的一系列信息(顶点位置,法线,切线,颜色等),在vertex shader中进行处理。主要是两个处理,顶点变换和逐顶点光照计算。然后GPU会帮我们进行裁剪和屏幕映射的操作,裁剪是在裁剪空间做的,用w分量去比较。屏幕映射之前要先进行齐次除法得到NDC空间下的坐标原创 2021-08-22 17:53:59 · 289 阅读 · 0 评论 -
ComputeScreenPos和ComputeGrabScreenPos/折射和反射/使用切线空间中法线对屏幕纹理坐标进行偏移
读本书第一遍的时候,好多知识点一知半解就过去了,没有仔细思考。读本书第二遍的时候发现很多知识点都能够串联起来了,也因此解决了很多之前对本书困惑的地方。1.reflect(i,n)函数在高光反射模型和在计算反射的时候的应用2.UnityShader中的玻璃效果本书中,使用GrabPass来实现玻璃等透明材质的模拟。首先,书里实现了玻璃的反射+折射两个效果。并且使用GrabPass来对物体后面的图像进行复杂的处理,比如法线的模拟折射效果,不再是简单的与屏幕颜色进行混合。(之前是使用lerp函数进行混合,l原创 2021-01-04 16:26:51 · 2241 阅读 · 4 评论 -
关于Unity中的渲染路径/前向渲染/延迟渲染/TBDR
长期以来被渲染路径搞得晕头转向,尤其是前向渲染和延迟渲染。重读第二遍入门精要感觉有必要把这些模糊的知识点串联记录起来。1.什么是渲染路径?渲染路径指的是场景中光照的渲染方式。到底是用前向渲染的方式,还是用延迟渲染的方式。使用不同的方式决定了不同的光照计算结果。只有为shader正确的选择和设置需要的渲染路径,该shader的渲染路径才能正确被执行。2.不同的摄像机可以使用不同的渲染路径。通过Camera组件中的Rendering Path来指定。3.什么是前向渲染路径?完成一次完整的前向渲染,需要原创 2021-01-04 11:36:02 · 904 阅读 · 0 评论 -
关于三角形重心坐标插值/锯齿/抗锯齿/延迟渲染中的抗锯齿问题
我们都知道,在渲染流水线中,顶点着色器对输入的顶点数据进行处理(如顶点的坐标变换和光照计算)以后,GPU会进行进行齐次除法并将顶点从三维空间转换到二维的屏幕坐标,接着将这些所需要的着色数据发送到光栅化阶段。在光栅化的三角形遍历,我们知道,需要检查所有像素是否被一个三角形网格所覆盖,如果被覆盖,就会生成一个片元。首先,这一步具体是什么意思呢?图中每一个小矩形就是一个像素pixel,而每个小矩形中心的点就是“采样点”。整个大三角形就是“三角形网格”。检查每个像素是否被三角形网格覆盖的意思即为,每个像素的原创 2021-01-02 23:16:42 · 1867 阅读 · 0 评论