首页 > 其他分享 >Unity渲染管线的流程

Unity渲染管线的流程

时间:2024-05-20 10:30:26浏览次数:23  
标签:渲染 处理 像素 摄像机 Unity 顶点 坐标系 管线

来自 https://www.jianshu.com/p/02eebbf9ad9a   渲染管线的流程是在 GPU 中进行的,它主要占有计算机的显存部分。渲染管线在这个过程中进行了顶点处理、面处理、光栅化、像素处理。   1.顶点处理 3D模型是由众多点构成的面展现出来的。 顶点处理:是通过一系列坐标系的变换,让每个顶点通过一定的规律在摄像机前位移,最终在屏幕上对应这些顶点的过程。 首先,物体的各个顶点从自身坐标系,最后通过投影变换,将顶点转移到屏幕坐标系。 在观察者坐标系转换到投影坐标系的过程中,GPU(图形处理单元)还对材质属性和光照属性进行了处理。   2.面处理 三点成一面,面处理有三个部分:面的组装、面的截取、面的剔除。 面的组装:模型中的三个点会组成一个三角形的面(非任意点,因为每个点都有自己的编号)。这些面,面面相接,组成了我们能看到的模型。 面的截取:由于摄像机和人眼一样,可视的区域是一个锥形,模型在摄像机可视范围内可能并不是全覆盖,也就是在摄像机外,这些在摄像机之内的部分就会被截取。 面的剔除:为了模拟肉眼,摄像机前的物体会出现近大远小的现象,那么物体和物体之间会有遮挡,被遮挡的面会被剔除不处理;每个面都有法向量,所以只有在面的法向量和摄像机散射向量夹角大于90度的才会被摄像机捕捉到。   3.光栅化 光栅化,又称之合并阶段。它的主要功能是将面转换成一帧中的像素集合。 这一阶段是不可以编程的,它负责执行多个片段测试,包括:深度测试、alpha 测试和模板测试,程序员可以通过高度配置来实现想要的效果。如果通过了所有的测试,这部分颜色就会与帧缓冲存储的颜色通过 alpha 混合函数进行合并。   4.像素处理 这个阶段将像素区域着色,然后赋予贴图        

标签:渲染,处理,像素,摄像机,Unity,顶点,坐标系,管线
From: https://www.cnblogs.com/weigangblog/p/18201365

相关文章

  • Unity中的OnApplicationPause和OnApplicationFocus
    OnApplicationPause游戏进入后台和返回前台//游戏进入后台时执行该方法pause为true切换回前台时pause为falsevoidOnApplicationPause(boolpause){if(pause){//切换到后台时执行}else{//切换到前台时执行,游戏启动时执行一次}}......
  • Unity遮挡剔除使用
    (1)设置对象为遮挡物or被遮挡物选中某个对象后,在其Occlusion窗口可以设置其Occluder Static和OccludeeStatic属性:遮挡物通过勾选一个对象的OccluderStatic可将其设置为静态遮挡物。理想的遮挡物应该是实心的,体积较大的物体。原则1:可能阻挡到其它对象的对象才应该被设置......
  • Django markdown前端页面渲染
    提取目录(方式一)importmarkdownfrommarkdown.extensions.tocimportTocExtensiondefcontent(request,content_id):content_id=int(content_id)content=Content.objects.get(id=content_id)md=markdown.Markdown(extensions=['markdown.extension......
  • 国内版Unity 2023编辑器无法切换到DX12模式的解决方法
    在“安装目录\Editor”里(也就是Unity安装的根目录)建立一个D3D12文件夹。去“安装目录\Editor\Data\PlaybackEngines\windowsstandalonesupport\External\AgilitySDK\x64”内,将两个文件都复制到D3D12文件夹下。根本原因是在整个2023TechStream里,国内版的Unity(后缀是f1c1的版本)......
  • Unity Draw Call
    什么是DrawCall简单来说就是CPU调用图形化接口如glDrawElement如何减少DrawCall方法1:使用Batchunity-batch将很多小的DrawCall合并成一个大的DrawCall。注意:此方法适用于静态物体,对于动态物体也适用,但是由于空间和时间的影响,效果一般。title:一些建议......
  • unity Scriptable object
    是什么?一堆我们定义的数据,方便我们之后进行初始化。[CreateAssetMenu(fileName="TestObject",menuName="ScritableObjects/TestObject")]publicclassTestObject:ScriptableObject{publicstringMyString;}此时我们可以批量创建多个类型相同,但是内容不同的......
  • unity的批处理
    1.批处理将多个drawCall操作合并为一个,减少cpu和gpu之间的通信staticbatch概念staticobject:非移动的对象---这些对象可以利用预计算信息减少资源的消耗只有相同材质的的物体才会被合并到一起进行渲染具体操作:将静态物体合并为一个(或多个)大网格,这个(或这些)......
  • unity transform and gameobj
    两者都可以直接创建gameobj两者之间不能相互转换两者可以通过属性得到对方transform.gameobjgameobj.transformInsatance实例化的时候,两者返回对应的属性如果经常改变transformer,就用transformer,如果常用setActivate这些方法则使用gameobj进行实例化......
  • 常用Maya动画渲染插件及云渲染插件推荐
    Maya是一款在影视动画行业备受推崇的建模和动画软件,以其卓越的性能和灵活的功能而闻名。为了提高工作效率,Maya提供了广泛的插件选择,这些插件可以大幅简化用户在建模和渲染过程中的操作。本文将介绍一些常用的Maya插件和高效的云渲染工具,助您更高效地完成动画制作,赶紧来了解一下吧......
  • 云渲染为什么是独立设计师和工作室的首选?
    独立设计师和小型工作室常常寻求更高效的工具来完成创意项目,云渲染因此成为他们的首选。其关键优势在于显著提升工作效率,让用户无需担心电脑性能问题,也不必盯着渲染进度条干着急。通过简单的操作,便可利用强大的云计算快速完成渲染,极大地解放了创意工作者的时间和精力。如此一来,云......