GPU instancing unity官方文档翻译

本文介绍了Unity中GPU Instancing技术的应用方法及其优势。该技术通过减少Draw Calls的数量来提高渲染效率,尤其适用于场景中大量重复物体的渲染,如建筑群、树木和草地等。文章还详细说明了如何在Unity材质和Shader中启用和实现GPU Instancing。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

自己的翻译,术语不太会,想喷就喷哟,学到东西就好。

Introduction

介绍


使用很少数量的dc(draw calls)一次性的绘制由相同mesh的物体的多份实例。主要用在以下一些情况,比如,建筑群的渲染,树木,草地等那些在场景中重复出现的物体。

(概括:减少dc,批处理)

GPU instancing只能渲染只有一个drawcall的相同mesh的物体。但是,每一个instance可以有不同的参数(例如color和scale)去增加变化,减少物体的重复感

Adding instancing to your Materials

让你的材质使用GPUInstancing


如何开启?!直接见下图,官网的意思也是这个。


注意:unity只有支持cpuinstancing才会显示这个选项,哪些是unity支持的呢:Standard,StandardSpecular,和所有的SurfaceShaders


下图显示开启了之后的FPS,Batches,SavedByBatching


下图是没有开启的,可以和上图做比较,一个字牛B

如果你要使用GPUInstancing,遵守一下几点:

1.unity自动的获取MeshRenderer并调用Graphics.DrawMesh指令去绘制。注意:不支持SkinnedMeshRenderer

2.unity只支持相同mesh使用相同Material的物体去使用,并且这个Material的shader只能有一个dc。

GPU Instancing is available on the following platforms and APIs:

  • DirectX 11 and DirectX 12 on Windows

  • OpenGL Core 4.1+/ES3.0+ on Windows, macOS, Linux, iOS and Android

  • Metal on macOS and iOS

  • Vulkan on Windows and Android

  • PlayStation 4 and Xbox One

  • WebGL (requires WebGL 2.0 API)

让你的shader飞起来

还是参考官网吧。。。只能看懂翻译不出来了。。

https://docs.unity3d.com/Manual/GPUInstancing.html









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值