Unity渲染管线介绍

Unity中的渲染管线渲染场景主要分为三个阶段

  •     剔除(Culling)

剔除摄像机不可见对象(视锥体剔除Frustum Culling)和被遮挡对象(遮挡剔除Occlusion Culling)。

  •     渲染(Rendering)

将可见对象经过一系列计算(如光照计算)后绘制到像素缓冲区中。

  • 后期处理(Post-Processing)

对像素缓冲区上的颜色执行后期处理操作(如景深),生成最终的输出帧。

Unity提供四种渲染管线

  • 分别为内置渲染管线(Built-in Render Pipeline)
  • 通用渲染管线(Universal Render Pipeline,URP)
  • 高清渲染管线(High Definition Render Pipeline,HDRP)
  • 可编程渲染管线(Scriptable Render Pipeline,SRP)

不同的管线具有不同的特性和限制。

内置渲染管线提供了两种渲染路径可供选择,分别是前向渲染路径(Forward Rendering Paths)和延迟渲染路径(Forward Rendering Paths)。

    在使用(多通道)前向渲染路径时,场景中的所有对象都是按顺序渲染的。每个对象根据受到的光源数量可能在多个通道中渲染,因此当光源较多时,渲染成本会急剧上升。这种类型的渲染通常提供了各种各样的着色器,并且可以轻松地处理透明度。
    在使用延迟渲染路径时,所有不透明几何体先渲染到缓冲区。然后在延迟通道中,每个像素按顺序着色。渲染顺序主要取决于像素受到的光源数量。对于透明物体以及某些使用了复杂着色器的对象,仍然需要额外的前向渲染通道。这种类型的渲染通常用于处理包含许多动态光源的场景。

HDRP是一种混合了前向和延迟渲染的瓦片/簇渲染管线。HDRP提供了先进的渲染和着色功能,是专为要求逼真视觉的PC和高端游戏主机项目设计的。

    瓦片是帧中的一个小型二维方形像素几何,而簇则是摄像机视锥体中的一个三维几何体。不管是瓦片还是簇,它们的渲染技术都依赖于一个光源列表,可以在一个单独的通道中根据这个列表进行光照计算。
    不透明对象多使用瓦片系统进行着色,而透明对象的着色则多使用簇系统。
    与内置渲染管线相比,HDRP的光照处理更快,带宽消耗更少。

URP是一种快速的单通道前向渲染管线,被设计用于不知此计算着色技术的低端设备。URP可以为中端设备提供更高质量的图形性能,有时性能消耗甚至低于内置渲染管线。URP根据每个对象来剔除光线,并允许在单个通道中计算光照,这会降低Draw Call。此外,URP也支持2D渲染和延迟渲染。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/41557.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unity 简单载具路线 Waypoint 导航

前言 在游戏开发和导航系统中,"waypoint" 是指路径中的一个特定位置或点。它通常用于定义一个物体或角色在场景中移动的目标位置或路径的一部分。通过一系列的 waypoints,可以指定复杂的移动路径和行为。以下是一些 waypoint 的具体用途&…

用Python轻松转换PDF为CSV

数据的可访问性和可操作性是数据管理的核心要素。PDF格式因其跨平台兼容性和版面固定性,在文档分享和打印方面表现出色,尤其适用于报表、调查结果等数据的存储。然而,PDF的非结构化特性限制了其在数据分析领域的应用。相比之下,CS…

Three 颜色Color

构造器(Constructor) Color( r : Color_Hex_or_String, g : Float, b : Float ) r - (可选参数) 如果参数g和b被定义,则r表示颜色中的红色分量。 如果未被定义,r可以是一个十六进制 hexadecimal triplet 颜色值或CSS样式的字符串…

【国产开源可视化引擎Meta2d.js】图元

图元 又称画笔Pen。图形表达的基本元素,组成图像的基本单元。 构成 每一个图元由ID、名字、类型、属性(数据)组成。 ID 名为“id”的特殊属性,图元实例(画布上的图元对象)的唯一标识。拖拽到画布或创建…

【线性代数的本质】矩阵与线性变换

线性变化要满足两点性质: 直线(连续的点)在变换后还是直线。原点不变。 假设有坐标轴(基底) i ^ \widehat{i} i 和 j ^ \widehat{j} j ​: i ^ [ 1 0 ] , j ^ [ 0 1 ] \widehat{i}\begin{bmatrix} 1 \…

android Dialog沉浸式状态栏实现

在Android中,创建沉浸式状态栏通常意味着让状态栏背景与应用的主题颜色一致,并且让对话框在状态栏下面显示,而不是浮动。为了实现这一点,你可以使用以下代码片段: 首先,在你的Activity中设置状态栏为隐藏或…

SQL中字符串类型中char和varchar之间的区别是什么

在 MySQL 中,CHAR 和 VARCHAR 是两种常见的字符串数据类型,它们之间有以下主要区别: 存储方式 CHAR:固定长度存储。无论实际存储的字符数量多少,都会占用指定的固定字节数。VARCHAR:可变长度存储。只占用实…

《昇思25天学习打卡营第6天|网络构建》

文章目录 前言:今日所学:1. 定义模型类2. 模型层3. 模型参数 前言: 在第六节中我们学习了网络构建,了解了神经网络模型是由神经网络层和Tensor操作构成,我们使用的mindspore.nn中提供了常见的升级网络层的实现&#x…

在线图片转文字的软件,分享3种强大的软件!

在信息爆炸的时代,图片作为信息的重要载体之一,其内容往往蕴含着巨大的价值。然而,面对海量的图片信息,如何高效、准确地将其转化为文字,成为了许多人的迫切需求。今天,就为大家盘点几款功能强大的在线图片…

【python基础】—如何理解安装程序时要配置Widows和DOS操作系统中的path环境变量?

文章目录 前言一、环境变量是什么?二、为什么需要设置环境变量?三、配置anaconda的环境变量 前言 在安装一些程序的时候, 我们总是需要将安装路径配置到正在使用电脑的环境变量里。为什么要进行这一步呢?本文主要解释Widows和DOS…

特殊用途二极管+二极管故障检测+三极管(BJT)的工作原理+定时器的使用(小灯定时闪烁实现)

2024-7-5,星期五,17:27,天气:晴,心情:晴。今天没有什么特殊的事情发生,继续学习啦,加油加油!!! 今日完成模电自选教材第二章内容的学习&#xff…

1-4 NLP发展历史与我的工作感悟

1-4 NLP发展历史与我的工作感悟 主目录点这里 第一个重要节点:word2vec词嵌入 能够将无限的词句表示为有限的词向量空间,而且运算比较快,使得文本与文本间的运算有了可能。 第二个重要节点:Transformer和bert 为预训练语言模型发…

【ABB】原点设定

【ABB】原点设定 操作流程演示 操作流程 操作轴回原点编辑电机校准偏移更新转速计数器 1.首先得了解机器手的轴,这里以6轴作参考。 注意先回456轴,后回123轴。 2.然后需要了解机器人关节运动模式,即选择如下两个模式。 3.注意机器人各轴移动…

QT的编译过程(底层逻辑)

qmake -project 用于从源代码生成项目文件,qmake 用于从项目文件生成 Makefile,而 make 用于根据 Makefile 构建项目。 详细解释: qmake -project 这个命令用于从源代码目录生成一个初始的 Qt 项目文件(.pro 文件)。它…

奇异值分解求线性方程组的最小二乘解

线性方程组一般考虑两类: 非齐次线性方程组:Ax b齐次线性方程组:Ax 0 A 是 m * n 矩阵,x 是 n * 1 的向量,b 是 m * 1 的向量。此类问题可以很方便地采用SVD奇异值分解来求解。 一. 讨论基于线性代数的解析解 关…

吃顿饭的时间,用AI开发一个应用官网

最早接触开发时做的第一个项目就是企业官网,到后来自己开始走上独立开发者的道路时,哪怕是开发面向消费者的移动端产品,在产品上架时也需要提供应用官网。 感觉,编程这件事情和官网开发,紧密相连。 过往为了追求开发效…

个人微信 微信营销系统

个人微信 微信营销系统 CRM系统

Android TV跨平台开发心得

这半年来陆陆续续做了一堆poc,刚开始是flutter,结果领导叫停了,说有其他部门做一样的事,真不巧;后来是react native,开发了个demo,上报上去了已经;现在又要做android nativewebview …

Windows 玩转大模型第一天:大模型本地部署,调用大模型API可直接工程化应用(全部代码和详细部署流程)

Ollama 是一个开源框架,专为在本地机器上便捷部署和运行大型语言模型(LLM)而设计。 以下是其主要特点和功能概述: 1. 简化部署:Ollama 目标在于简化在 Docker 容器中部署大型语言模型的过程,使得非专业用…

ELK日志系统和Filebeat采集器的学习总结

ELK是ElasticSerach、Logstash、Kina Logstash负责采集数据,Logstash有三个插件,input、filter、output,filter插件作用是对采集的数据进行处理,过滤的,因此filter插件可以选,可以不用配置。 ElasticSear…