URP是unity推出的,用于替代Unity原来传统build-in管线。

URP是Unity可编程渲染管线(SRP)的一种,所以了解URP之前需要先了解SRP是什么

SRP是什么?

SRP全称为Scriptable Render Pipeline(可编程渲染管线/脚本化渲染管线),是Unity提供的新渲染系统,可以在Unity通过C#脚本调用一系列API配置和执行渲染命令的方式来实现渲染流程,SRP将这些命令传递给Unity底层图形体系结构,然后再将指令发送给图形API。

说白了就是我们可以用SRP的API来创建自定义的渲染管线,可用来调整渲染流程或修改或增加功能。

它主要把渲染管线拆分成二层:

  • 一层是比较底层的渲染API层,像OpenGL,D3D等相关的都封装起来。

  • 另一层是渲染管线上层,上层代码使用C#来编写。在C#这层不需要关注底层在不同平台上渲染API的差别,也不需要关注具体如何做一个Draw Call

URP是什么?

它的全称为Universal Render Pipeline(通用渲染管线), 它是Unity官方基于SRP提供的模板,它的前身是LWRP(Lightweight RP即轻量级渲染管线), 在2019.3开始改名为URP,它涵盖了范围广泛的不同平台,是针对跨平台开发而构建的,性能比内置管线要好,另外可以进行自定义,实现不同风格的渲染,通用渲染管线未来将成为在Unity中进行渲染的基础 。

平台范围:可以在Unity当前支持的任何平台上使用

HDRP是什么?

它的全称为High Definition Render Pipeline(高清晰度渲染管线),它也是Unity官方基于SRP提供的模板,它更多是针对高端设备,如游戏主机和高端台式机,它更关注于真实感图形和渲染,该管线仅于以下平台兼容:

  • Windows和Windows Store,带有DirectX 11或DirectX 12和Shader Model 5.0
  • 现代游戏机(Sony PS4和Microsoft Xbox One)
  • 使用金属图形的MacOS(最低版本10.13)
  • 具有Vulkan的Linux和Windows平台

在此文章对HDRP不过多描述。

2. 为什么诞生SRP?

内置渲染管线的缺陷

  • 定制性差:过去,Unity有一套内置渲染管线,渲染管线全部写在引擎的源码里。大家基本上不能改动,除非是买了Unity源码客户,当然大部分开发者是不会去改源码,所以过去的管线对开发者来说,很难进行定制。
  • 代码脓肿,效果效率无法做到最佳:内置渲染管线在一个渲染管线里面支持所有的二十多个平台,包括非常高端的PC平台,也包括非常低端的平台,很老的手机也要支持,所以代码越来越浓肿,很难做到使效率和效果做到最佳。

目的:

  • 为了解决仅有一个默认渲染管线,造成的可配置型、可发现性、灵活性等问题。决定在C++端保留一个非常小的渲染内核,让C#端可以通过API暴露出更多的选择性,也就是说,Unity会提供一系列的C# API以及内置渲染管线的C#实现;这样一来,一方面可以保证C++端的代码都能严格通过各种白盒测试,另一方面C#端代码就可以在实际项目中调整。

urp和build in 的区别就是,在传统管线中,这些过程是被封装起来的,想要在特定的步骤做其他事情会非常麻烦,但URP把全过程都暴露了出来,开发者可以定制自己想要的渲染流程,比如,是否需要m_MainLightShadowCasterPass,是用unity默认的shader渲染shadowmap,还是使用自己特殊的shader来支持半透明阴影等,输出的shadowmap格式也可以由自己控制,是8bit的灰度图还是32bit图亦或者其他,render texture的各个通道含义都可以由开发者来定义。

URP 和 内置渲染管线 性能对比

在看URP 和 内置渲染管线 性能对比之前最好先了解DrawCall,Batches,SetPassCalls分别是什么值。

DrawCall,Batches,SetPass calls文章:DrawCall,Batches,SetPass calls是什么?原理?【匠】_以笑对世~的博客-CSDN博客

URP渲染管线与Buildin管线的区别_林深藏却云门寺-CSDN博客_urp渲染管线的优势

Unity URP/SRP 渲染管线浅入深出【匠】_u011105442的专栏-CSDN博客

https://blog.csdn.net/qq_42672770/article/details/123459705

ILRuntime作者林若峰分享:次世代手游渲染怎么做 - GameRes游资网

Unity URP/SRP可编程渲染管线相关推荐

  1. Unity可编程渲染管线系列教程(1):自定义渲染管线

    前言     Jasper Flick<Unity可编程渲染管线>系列教程之:自定义渲染管线.该教程分享了用户如何在Unity引擎从头构建简易的渲染管线.原文链接可见该博客末尾. 目录 创 ...

  2. 在unity中设置多种怪物数据_Unity可编程渲染管线(SRP)系列(三)——光照(单通道 正向渲染)...

    本文重点: 1.漫反射着色 2.支持方向光.点光源和聚光灯 3.每帧允许16个可见光源 4.每个对象最多计算四个像素光和四个顶点光 这是涵盖Unity可编写脚本的渲染管线的教程系列的第三部分.这次,我 ...

  3. unity 角度限制_Unity自定义可编程渲染管线(SRP)(九)——灯光照明

    本文是自定义可渲染管线系列比较重要的章节,我们将实现自定义可编程渲染管线对灯光照明的支持. 如果我们想创建一个更加逼真的场景,那么我们必须要模拟物体表面的光照现象.这需要提供更加复杂的shader才能 ...

  4. unity hub是什么东西_Unity可编程渲染管线(SRP)教程:一、自定义管线

    本文翻译自Catlike Coding,原作者:Jasper Flick. 本文经原作者授权,转载请说明出处. 原文链接在下: https://catlikecoding.com/unity/tuto ...

  5. unity烘培单个物体_Unity可编程渲染管线(SRP)教程:二、自定义着色器

    本文翻译自Catlike Coding,原作者:Jasper Flick. 本文经原作者授权,转载请说明出处. 原文链接在下: https://catlikecoding.com/unity/tuto ...

  6. unity绘制管道_Unity可编程渲染管线(SRP)教程:一、自定义管线

    控制渲染 创建pipeline asset 和 instance. 剔除.过滤.排序.渲染. 保持内存清洁. 提供良好的编辑体验. 这是Unity scriptable render pipeline ...

  7. Unity可编程渲染管线系列(七)反射(镜面和环境)

    目录 1 高亮的高光 1.1 光滑度 1.2 表面数据 1.3 漫反射光 1.4 镜面选项 1.5 镜面高光 1.6 逐物体平滑度 2 反射环境 2.1 采样环境 2.2 调制反射 2.3 菲涅尔 2 ...

  8. Unity可编程渲染管线系列(六)透明度(裁剪与淡化 Clipping and Fading)

    目录 1 Alpha裁剪 1.1 Alpha贴图 1.2 纹理化 1.3 丢弃片段 1.4 裁剪阴影 1.5 双面渲染 1.6 给背面翻转法线 1.7 可选的裁剪 1.8 Alpha-Test渲染队列 ...

  9. Unity可编程渲染管线系列(一)自定义管线(控制渲染)

    本文重点: 1.创建管线资产和实例 2.剔除.过滤.排序.渲染 3.保持内存干净 4.提供良好的编辑体验 这是涵盖Unity可编写脚本的渲染管线的教程系列的第一部分.本教程假定您首先阅读了Unity基 ...

  10. Unity可编程渲染管线系列(四)聚光灯阴影(阴影贴图)

    目录 1 一个带有阴影的聚光灯 1.1 阴影贴图 1.2 阴影命令缓冲区 1.3 设置 渲染目标 1.4 配置视图和投影矩阵 1.5 渲染阴影投射器 2 阴影投射器通道 2.1 阴影包含文件 2.2 ...

最新文章

  1. jstl mysql_java – jsp jstl sql与mysql中的奇怪行为
  2. 前端和后端的英文_计算机专业的本科生在前端、后端、测试和运维之间该如何选择...
  3. 【Python CheckiO 题解】Sort Array by Element Frequency
  4. YEARWEEK函数来得到本周的日期
  5. RTOS原理与实现13(完):内核裁剪与移植
  6. Microsoft强大团队(源代码)管理工具--TFS2010 与vs结合
  7. aloha app android,Aloha软件最新版下载-Aloha安卓版下载 v5.2.0-都去下载
  8. 一个大数据屌丝的一天
  9. Postgresql 学习记录,模式,分区表,触发器,事务,窗口函数,视图,建表,约束等
  10. 编译错误:invalid types ‘int[int]‘ for array subscrip-markdown编辑器
  11. ssms 连接 oracle,【SQL】用SSMS连接Oracle手记
  12. 小码哥crm学习笔记
  13. [Android Studio]掌握Android Studio的五种常见控件和五种常见布局
  14. 【TPU和GPU,谁将一统AI芯片】摩尔定律之后一万倍,10万+热文引爆激辩
  15. 获取 JSON 数据得个数 length
  16. 第八部份:Bless安装
  17. Flutter调用阿里云识别银行卡
  18. ASP.NET MVC 音乐商店完整项目示例
  19. android初学者_初学者:如何在Android设备上的打开的应用程序之间切换
  20. 外包企业名录 - List of Outsourcing Enterprises

热门文章

  1. curl上传文件到服务器命令,linux curl上传文件到服务器
  2. 超全 泛微 E8 E-cology 8 开发资料大全 开源下载资料
  3. c语言sobel边缘检测,C/C++ OpenCV之Sobel边缘检测
  4. MySQL基础(适合新手入门)
  5. 易辅客栈-编写手游模拟器辅助脚本-征途
  6. redis java 视频教程_Redis基础与提升视频教程
  7. cad2020打印样式放在哪个文件夹_压箱底!这些CAD打印设置技巧只能从老师傅身上学到...
  8. linux node安装菜鸟教程,Node.js 安装配置
  9. Android Studio 2.2 正式稳定版已发布,先睹为快!
  10. Java方法重载中返回值的问题