当前位置: 首页 > news >正文

Unity中GPU Instancing使用整理

GPU Instancing是一种绘制调用优化方法,可在单个绘制调用中渲染具有相同材质Mesh的多个副本(实例),可用于绘制在场景中多次出现的几何体(例如,树木或灌木丛),在同一绘制调用中渲染相同的网格,每个实例可以具有不同的属性(如 Color 或 Scale),渲染多个实例的绘制调用在 Frame Debugger 中显示为 Draw Mesh (instanced)。

兼容性:

功能内置渲染管线通用渲染管线 (URP)高清渲染管线 (HDRP)自定义可编程渲染管线 (SRP)
GPU Instancing是 (1)是 (1)是 (1)

 注:
(1)当着色器与SRP Batcher不兼容时,GPU Instancing支持URP,HDRP,SRP。
(2)GPU 实例化与 SRP Batcher 不兼容,SRP Batcher 优先于 GPU Instancing 执行
(3)如果项目使用已经使用了 SRP Batcher,并且对游戏对象要使用 GPU 实例化,可以使用 Graphics.DrawMeshInstanced(此 API 绕过了 GameObjects 的使用,使用指定的参数直接在屏幕上绘制网格),手动删除 SRP Batcher 兼容性(详细看SRP Batcher中的介绍)

使用条件:

材质要求​​:

1.使用的Shader必须支持GPU Instancing(Unity标准着色器所有的表面着色器都支持),自定义着色器需手动添加GPU Instancing支持。

网格要求

1.来源于MeshRenderer 组件或 Graphics.RenderMesh 调用绘制的,Unity 会将这些网格添加到列表中,然后检查哪些网格可以实例化。
2.使用Graphics.RenderMeshInstanced 或 Graphics.RenderMeshIndirect 调用绘制的。
不支持的情况
不支持对附加到与 SRP Batcher 兼容的游戏对象的 SkinnedMeshRenderer MeshRenderer 组件进行 GPU Instancing。
注:使用Graphics.RenderMeshInstanced 和 Graphics.RenderMeshIndirect,这些方法使用相同的着色器多次渲染相同的网格,每次调用单独生成 Draw Call不会合并

开启GPU Instancing:

1.内置的着色器开启:

直接在材质的属性面板找到Enable GPU Instancing,并勾选即可。

开启前开启后

2.自定义着色器开启:

兼容性:

特征内置渲染管线
http://www.xdnf.cn/news/577423.html

相关文章:

  • Python训练Day30
  • 第3周作业-1层隐藏层的神经网络分类二维数据
  • MQTT报文介绍
  • Linux内存分页管理详解
  • Jsoup解析商品信息具体怎么写?
  • 阿里发布扩散模型Wan VACE,全面支持生图、生视频、图像编辑,适配低显存~
  • FreeCAD傻瓜教程-外螺纹的绘制,利用两个实体进行布尔运算来实现
  • 《P1433 吃奶酪》
  • MCU开发学习记录19* - CAN学习与实践(HAL库) - 定时传输、触发传输和请求传输(轮询与中断实现) -STM32CubeMX
  • Python 代码缩进与结构化编程:从基础到风格规范
  • Robotaxi新消息密集释放,量产元年来临谁在领跑?
  • [Java恶补day2] 49. 字母异位词分组
  • 【SW】从3D模型导出dxf图纸
  • 【算法专题十五】BFS解决最短路问题
  • 04_Prometheus监控docker容器(4)
  • 智慧社区新防线:华奥系AI技术如何让夏季安防“零隐患”
  • 如何在JavaScript中将数值转换为字符串并赋值给数组——以RuoYi-Vue项目为例
  • Redis Cluster动态扩容:架构原理与核心机制解析
  • 航电系统之航点跟踪系统篇
  • C++(27): 标准库 <iterator>
  • 逆向音乐APP:Python爬虫获取音乐榜单 (1)
  • Podman(Pod Manager)简介
  • 嵌入式STM32学习——串口USART 2.1(串口发送字符串和字符)
  • 应用分享 | 软件定义架构如何满足GNSS模拟测试的开放性需求?
  • JDK9~17语法新特性全览:Java语言的持续进化
  • Python数据可视化高级实战之二——热力图绘制探究
  • C++ 输出流格式控制
  • 起重的技术
  • wd软件安装
  • origin绘图之【如何将横坐标/x设置为文字、字母形式】