Unity Lighting - Choosing a Rendering Path 选择渲染路径(三)
Choosing a Rendering Path 选择渲染路径
Unity supports a number of rendering techniques, or ‘paths’. An important early decision which needs to be made when starting a project is which path to use. Unity’s default is 'Forward Rendering”.
Unity支持许多渲染技术或“路径”。 开始一个项目时需要做出的一个重要的早期决定是使用哪条路径。 Unity的默认的是“正向渲染”。
Forward Rendering 正向渲染/前向渲染
In Forward Rendering, each object is rendered in a ‘pass’ for each light that affects it. Therefore each object might be rendered multiple times depending upon how many lights are within range.
在正向渲染中,每个对象都会对每个影响它的光进行“通过”渲染。因此,每个对象可能会渲染多次,具体取决于范围内有多少灯光。
The advantages of this approach is that it can be very fast - meaning hardware requirements are lower than alternatives. Additionally, Forward Rendering offers us a wide range of custom ‘shading models’ and can handle transparency quickly. It also allows for the use of hardware techniques like ‘multi-sample anti-aliasing’ (MSAA) which are not available in other alternatives, such as Deferred Rendering which can have a great impact on image quality.
这种方法的优点是速度非常快 - 这意味着硬件要求比替代方案要低。此外,正向渲染为我们提供了广泛的自定义“着色模型”,并且可以快速处理透明度。它还允许使用诸如“多样本抗锯齿”(MSAA)之类的硬件技术,这些技术在其他替代品中不可用,例如可能对图像质量产生重大影响的延迟渲染。
However, a significant disadvantage of the forward path is that we have to pay a render cost on a per-light basis. That is to say, the more lights affecting each object, the slower rendering performance will become. For some game types, with lots of lights, this may therefore be prohibitive. However if it is possible to manage light counts in your game, Forward Rendering can actually be a very fast solution.
然而,前向路径的一个显着缺点是我们必须在每个灯光的基础上支付渲染成本。也就是说,影响每个对象的灯光越多,渲染性能就越慢。对于某些游戏类型,有很多灯光,这可能因此而不适用。但是,如果可以在游戏中管理灯光计数,则转发渲染实际上可以是一个非常快速的解决方案。
Deferred Rendering 延迟渲染
In 'Deferred' rendering, on the other hand, we defer the shading and blending of light information until after a first pass over the screen where positions, normals, and materials for each surface are rendered to a ‘geometry buffer’ (G-buffer) as a series of screen-space textures. We then composite these results together with the lighting pass. This approach has the principle advantage that the render cost of lighting is proportional to the number of pixels that the light illuminates, instead of the number of lights themselves. As a result you are no longer bound by the number of lights you wish to render on screen, and for some games this is a critical advantage.
另一方面,在“延迟”渲染中,我们延迟光线信息的阴影和混合,直到第一个Pass结束,屏幕每个表面的位置,法线和材质渲染为一系列屏幕空间纹理保存到“几何缓冲区”(G-Buffer)。然后,我们将这些结果与照明通行证混合在一起。这种方法的主要优点是,照明的渲染成本与光照像素数量成正比,而不是光源本身的数量。因此,您不再受到屏幕上呈现的灯光数量的限制,对于某些游戏来说,这是一个关键优势。
Deferred Rendering gives highly predictable performance characteristics, but generally requires more powerful hardware. It is also not supported by certain mobile hardware.
延迟渲染提供了高度可预测的性能特征,但通常需要更强大的硬件,某些移动硬件不支持。
For more information on the Deferred, Forward and the other available rendering paths, please see the documentation here.
有关延迟,转发和其他可用渲染路径的更多信息,请参阅此处的文档。
<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">
Unity Lighting - Choosing a Rendering Path 选择渲染路径(三)的更多相关文章
- Unity Lighting - Choosing a Color Space 选择色彩空间(四)
Choosing a Color Space 选择色彩空间 In addition to selecting a rendering path, it’s important to choose ...
- Unity 的“Vertex Lit Rendering path“中 shader Pass 的注意事项
"MADFINGER/Environment/Unlit (Supports Lightmap)"是 ShadowGun 示例中最简单的 shader 了,如下: // Unlit ...
- Unity3D光照前置知识——Rendering Paths(渲染路径)及LightMode(光照模式)译解
简述 Unity supports different Rendering Paths. You should choose which one you use depending on your g ...
- Unity Lighting - Choosing a Lighting Technique 选择照明技术(一)
Choosing a Lighting Technique 选择照明技术 https://unity3d.com/cn/learn/tutorials/topics/graphics/choosi ...
- Rendering Path
Rendering Path:渲染路径 设置:1.Player Setting,2.Camera(会覆盖PlayerSetting中的设置) 选择:根据渲染内容和目标平台来选择合适的Rendering ...
- Thinking in Unity3D:渲染管线中的Rendering Path
关于<Thinking in Unity3D> 笔者在研究和使用Unity3D的过程中,获得了一些Unity3D方面的信息,同时也感叹Unity3D设计之精妙.不得不说,笔者最近几年的 ...
- 渲染路径-u3d渲染路径比较
Unity支持不同的渲染路径.应具体取决于你的游戏内容和目标平台/硬件来选择使用哪一个.不同的渲染路径有不同的特点和性能特点,主要影响灯光和阴影. 项目所使用的渲染路径在Player S ...
- shader实例(八)渲染路径RenderingPath
Unity的摄像机上支持3种RenderingPath,分别是VertexLit,Forward和Dferred Lighting,而shader中的LightMode标签Vertex,Forward ...
- Unity5 的新旧延迟渲染Deferred Lighting Rendering Path
unity5 的render path ,比4的区别就是使用的新的deferred rendering,之前的4的deferred rendering(其实是light prepass)也被保留了下来 ...
随机推荐
- [转]超全面的.NET GDI+图形图像编程教程
本篇主题内容是.NET GDI+图形图像编程系列的教程,不要被这个滚动条吓到,为了查找方便,我没有分开写,上面加了目录了,而且很多都是源码和图片~ GDI+绘图基础 编写图形程序时需要使用GDI(Gr ...
- Spring 通过XML配置装配Bean
使用XML装配Bean需要定义对于的XML,需要引入对应的XML模式(XSD)文件,这些文件会定义配置Spring Bean的一些元素,简单的配置如下: <?xml version=" ...
- h5中video的一些坑
最近我们的项目做了有关短视频的功能,当然视频的合成还是在客户端来完成,涉及到前端页面的部分就是要有一个H5的落地页,这个页面上要有对视频进行播放.起初我觉得这事儿还是挺简单的,不就是在页面上放一个&l ...
- java 编写小工具 尝试 学习(五)
1.今天 学习 标签 的 控件 的使用 ,学习 视频教程 参考 :http://edu.51cto.com/lesson/id-17733.html 常用控件如下截图: import javax.s ...
- CSS3-transition常用属性及示例
transition参数 语法 transition: property duration timing-function delay transition属性是个复合属性,她包括以下几个子属性: t ...
- Mybatis resultMap灵活用法(使用子查询)
### 背景查询广州每个景点的总流量,和每个景点每日流量 #### 数据表 t_广州|唯一标识id|地点place|流量counts|日期date||:---:|:---:|:---:|:---:|| ...
- 系统优化怎么做-Tomcat优化
大家好,这里是「聊聊系统优化 」,并在下列地址同步更新 博客园:http://www.cnblogs.com/changsong/ 知乎专栏:https://zhuanlan.zhihu.com/yo ...
- java SSM 框架 代码生成器 websocket即时通讯 shiro redis
1. 权限管理:点开二级菜单进入三级菜单显示 角色(基础权限)和按钮权限 角色(基础权限): 分角色组和角色,独立分配菜单权限和增删改查权限. 按钮权限: 给角色分配按钮权限. ...
- Knowledge Point 20180305 十进制转换成二进制浮点数
如何将十进制的浮点数 转换二进制的浮点数,分为两部分: 1. 先将整数部分转换为二进制, 2. 将小数部分转换为二进制, 然后将整数部分与小数部分相加. 以 20.5 转换为例,20转换后变为1010 ...
- 冒泡排序_c++
冒泡排序_c++ GitHub 文解 冒泡排序是采用类似气泡上升的方式对数据进行排序. 例如: 我们这里有10个元素,具体数值随意,对每个数值标记上 1~10 的标记. 首先将标记为 1 的数值与标记 ...