Unity3D实习⽣⾯试题总结-图形学相关
图形学相关
点积和叉积的物理意义
两⽮量点积,其中⼀⽮量为单位⽮量,结果为另⼀⽮量在单位⽮量上投影的长度。
两⽮量叉积,其结果为⼀垂直于两⽮量的新⽮量。
GPU的渲染流程
本部分总结来⾃我对《Unity Shader ⼊门精要》⼀书的笔记
应⽤阶段
unity3d入门⾸先将数据加载到内存中,将⽹格、纹理加载到显存中,然后设置渲染状态,如摄像机、灯光等,最后调⽤drawcall渲染命令,输出图元列表到顶点着⾊器。
⼏何阶段
图元列表中的每个顶点都会调⽤⼀次顶点着⾊器,将顶点变换到齐次裁剪坐标系,得到归⼀化的设备坐标NDC。然后对图元进⾏裁剪,裁剪后的坐标经过屏幕映射得到屏幕坐标,和z坐标⼀起构成窗⼝坐标系。
光栅化阶段
通过三⾓形设置得到三⾓⽹格的表⽰数据,根据数据来检查每个像素是否被⼀个三⾓⽹格所覆盖,被覆盖的话就⽤三⾓⽹格的顶点信息对覆盖区域的像素进⾏插值,被覆盖的像素⽣成⼀个⽚元。然后⽚元经过⽚元着⾊器时会进⾏纹理采样,计算出其覆盖的⽚元的输出颜⾊。
最后进⾏逐⽚元操作,⼜成输出合并阶段,对每⼀个⽚元进⾏模板测试、深度测试和混合,模板测试⽤来限制渲染区域,深度测试舍弃被遮挡的⽚元提升性能,合并操作可以实现半透明等效果。最后这些使⽤颜⾊缓冲区的颜⾊值的像素就会显⽰到屏幕上。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论