UWA学堂|渲染模块知识Tree汇总_轻量级web3d引擎关键技术及移动网页在线可视化示范应用-程序员宅基地

技术标签: SRP  PBR  厚积薄发| Unity优化  HDR  渲染  烘焙  

渲染效果作为游戏表现力的核心卖点之一,相关课程在学堂中也占了相当大一部分比例。为了方便大家更快速明确地查找到需要的课程,学堂界面新增了分类查找的功能,对应的渲染大类,我们细分了光影、后处理、粒子系统等九个子类。

 

无论对于从业者还是正在读大学的技术萌新,学习的有效时间和个人时间都是有限的。高效学习者最在意的是时间的价值,一个需要体系化的知识地图就显得尤为重要。为此,我们也在不断地整理更新各个模块的知识,本期更新了渲染模块知识Tree的相关内容。

 

光影

《Console级写实画面游戏的技术探索之路》

3A单机游戏的研发一直是国内游戏行业的痛。国外3A游戏普遍在拟真度上有非常高的水平,无论画面还是动画都力求逼真,这不仅仅考验渲染技术的水平,同时也对美术资源品控、生产效率、写实动画制作和动画融合技术带来巨大的挑战。本次报告分享了嘉宾讲师所在团队历经两年摸索积累的一些经验和教训。包括:
1)前言及《黑神话·悟空》Demo展示
2)写实画面的光和影
3)我们需要做什么?
4)手游的高品质与高性能

 

《Unity HDRP烘焙技术原理及应用》

从HDRP 7.0版本开始,HDRP正式脱离Preview标签,成为正式版,未来HDRP将不会产生太大的框架性的变动。如果你希望获得效果炫酷的照片级渲染效果,现在正是学习HDRP的好时机。

然而,想获得非常高的画质表现,对于烘焙的理解是必不可少的。HDRP的全局光照和Build-in管线的全局光照在Planar Reflection、Screen Space Reflection、Light Layer、Reflection Hierarchy等方面是不同的,所以在一定程度上需要重新学习。当然,有一部分知识与Build-in管线的烘焙也是重合的,例如:Lightmapper参数、光照探针、Lightmap Parameter Asset等等,所以也可以使用本教程的内容作为Build-in管线烘焙的参考。

在HDRP中,通过Lightmap、光照探针、反射探针、Planar Reflection等技术,可以获得优秀的间接光和阴影,让产品的真实度上一个量级。

 

《漫谈HDR和色彩管理》

本课程从什么是色彩空间和色度图谈起,介绍了常见的SDR和HDR颜色空间标准,以及ACES色彩管理的基本流程,最后介绍UE4引擎是如何集成ACES和HDR显示到其相关的渲染管线中,从而让读者能够真正理解HDR显示的必要性,以及更加深刻地了解如何在引擎里实现一套基本的色彩管理和HDR显示流水线。

课程内容概括如下:
第1节:介绍什么是光和颜色,什么是CIE 1931 RGB/XYZ颜色空间,如何看懂色度图等。
第2节:介绍颜色空间的完整定义,列举常见的颜色空间标准及其定义。
第3节:为学习HDR和ACES做铺垫,以我们最为熟悉的sRGB色彩空间为例,回顾和学习之前提到的各种知识点是如何在SDR这条流水线里运作的。
第4节:从SDR色彩空间的缺陷引出HDR色彩空间的必要性,列举了常见的HDR颜色标准;介绍ACES的相关定义及其基本的色彩管理流程。
第5节:回归初心,介绍现有游戏和UE4引擎对HDR显示流水线的相关实现。

 

《Unity引擎实用阴影渲染技术全解析》

本课程主要讲解了当前中国Unity项目研发过程中最为常用且实用的三种阴影实现方案:基于ShadowMap的阴影渲染技术、基于Projector&RenderTexture的阴影渲染技术和适合于特殊场合的Flat Shadow渲染技术。我们分别详细介绍了其理论原理及其在Unity引擎中的具体实现和使用细节,以期让大家能够全面了解和掌握Unity项目开发过程中阴影渲染相关的实用技术方案。

另外,该课程还重点讲解了目前三款Unity Asset Store中非常受研发团队欢迎的阴影相关插件:MobileFastShadow、FastShadows以及FastShadowReceiver。大家不仅可以了解其实现原理和适用场景,同时也可以结合自身项目来采用对应的阴影实现方案及优化方案。

 

《如何实现角色的自阴影效果》

本课程介绍了如何不使用任何光照来实现角色自阴影,并且能够适应于各类高中低配手机。从实际需求入手,逆推解决问题方法,从目的反向找出正确的处理流程,除了能够学习到如何不用光做出光影效果,更能掌握解决问题的方法;从性能入手,让大家对自阴影的性能知根知底;最后附带Demo的代码,更能让大家立刻在项目中将其实装,提升自己游戏的表现力。

这门课程虽然不属于基础课程,但对渲染有兴趣或者刚开始学习渲染的同学也能从中受益。

 

《详解Unity引擎渲染模块》

从基本的渲染流程入手,学习Unity渲染流程的各个部分及原理,分别从顶点片元着色器及表面着色器了解Unity Shader基本规则及写法。学习使用Unity Shader控制渲染流程各个部分及可编程部分编写。从简单光照模型、贴图采样、法线采样、立法体纹理采样、透明度测试、透明度混合、模板测试到前向渲染复杂光照以及延迟渲染等,对Unity Shader基础知识做了详细的解释。这门课程属于基础课程,建议对渲染有兴趣及刚开始学习渲染的同学购买。

 

《光照贴图Lightmap初探》

光照贴图是游戏中很常用的一个技术,不同引擎都有相似但细节处又有很多不同的实现。本文将从原理出发,梳理Unity/UE4等引擎的不同实现,并着重分析项目开发过程中常见但很容易被忽视的精度问题及解决办法,以及很多实际工程中会遇到的问题及对策。

通过对本文阅读,读者能对包括光照贴图、光照探针等一系列全局光照相关技术有所认识,并结合到实际工作中。

 

《Reflection Probe 实现伪室内和伪反射效果的改进方案》

使用Unity的ReflectionProbe可以实现伪室内效果,但由于其制作上有一定的限制,遇到复杂场景时制作并不方便。对于这一问题,作者提供了一个改进方案。在本文中,首先会讲解Reflection Probe的原理,然后参考这些实现过程制作了一个Fake Reflection的工具,就可以自行实现出类似的效果。同时,可以通过增加法线、粗糙度等参数,来模拟更丰富的玻璃折射效果。另外,它还可以用来实现室内透射、水面反射等近似效果,从而可以大幅减少真实渲染效果的计算压力。

通过本文的学习和提供的Demo工程,可以实现一个更加定制化、且容易修改的Relection Probe功能,从而实现低开销的透视和反射模拟效果。


后处理

《屏幕后处理效果系列之常见后处理效果篇》

屏幕后处理效果(Screen Post Processing Effects),是游戏中实现屏幕特效的方法,有助于提升画面效果。UWA学堂将推出一系列课程,带领读者逐步掌握各种屏幕后处理效果的理论基础和实现方式。

本篇讲解的是常见后处理效果,将结合Demo学习在游戏中经常被应用的屏幕后处理特效,例如眩光(Bloom)、景深(Depth of Field)、镜头光晕(Lens Flare)等效果的相关实现方式及其实际项目应用中的优化方式。

 

《屏幕后处理效果系列之图像模糊算法篇》

屏幕后处理效果(Screen Post Processing Effects),是游戏中实现屏幕特效的方法,有助于提升画面效果。UWA学堂将推出一个系列课程,带领读者从基础开始逐步掌握各种屏幕后处理效果的理论基础和实现方式。

本篇讲解的是图像模糊算法。在游戏中经常被应用的屏幕后处理特效,例如炫光(Bloom)、景深(Depth of Field)、镜头光晕(Glare Lens Flare)、体积光(Volume Ray)等效果,都用到了图像模糊算法。

从图像处理领域的角度来看,图像模糊算法是一种低通滤波算法。经过低通滤波器处理后的图像效果看起来像是将图像变模糊了,故而被应用到屏幕后处理特效中。图像模糊算法有很多经典算法,例如:高斯模糊算法(Gaussian Blur)、盒式模糊(Box Blur)、Kawase Blur和Dual Blur等。在本篇中将结合Demo学习相关算法及其优化算法,探究其应用与优化方式。

 

《详解Unity引擎的屏幕后处理功能》

该课程主要讲解了部分Unity引擎屏幕后处理的具体实现方法,包括色调调整、屏幕扭曲、抗锯齿、Bloom、景深、高度雾等,一步步教你如何实现屏幕后处理效果,并且讲解如何灵活使用Unity官方Post Processing,最后介绍几款当前热门且游戏研发团队常用的屏幕后处理插件,主要包括:Mobile Lighting Box、MK Glow、2D Weather Effects和100 Post Processing Styles,供大家参考学习。

 

《Unity引擎景深实现原理剖析与优化》

从基本的后处理渲染流程入手,学习DepthOfField渲染流程中的各个部分及原理,分别从如何通过深度图计算出模糊圈、计算焦外模糊效果,如何把模糊图与原图混合完成焦点清晰、焦外模糊的景深效果入手,通过剖析其每一步的原理与GPU耗时,分析思考对其进行优化,从而提高渲染效率。希望读者们可以通过此文学习并掌握后处理性能优化的方法。


粒子系统

《Visual Effect Graph入门和实践》

相信开发者们已经注意到Unity在最近的版本中进行了很大的改动,例如:新的开发模式DOTS、新的粒子特效系统、新的渲染管线URP、新的输入系统InputSystem和新的Shader系统ShaderGraph等等。对于开发者来说,Unity朝着更加方便,更加高效的开发方向发展显然是件好事。

本文所要讲解的正是新的粒子系统Visual Effect Graph(由于个人习惯,笔者会简称为VFX),由3W原则入手来介绍VFX,它是什么?为什么要使用它?最后着重介绍了我们要如何使用VFX。

目前网上的资料相对较少也不成体系,笔者学习和摸索了上百个小时整理出来的入门教程,目前仅能满足项目中的常见的开发需求,希望对大家有所帮助。


流体模拟

《基于网格的GPU流体模拟》

文章主要介绍了基于网格的流体模拟的基本原理及其实现方式,分为4个部分。首先,简单介绍了流体模拟的概念,再是介绍相关的数学基础,然后在理论上从流体方程Navier Stokes入手,对其分解解析,逐步分析公式的每一部分的数学概念和解算过程,最后在Unity上通过Demo实现流体模拟的每一部分的计算并进行讲解。

本课程属于进阶课程,解算过程相对晦涩,适合有一定的图形学基础、数学基础或者Shader编程经验的读者。


光线追踪

《光线追踪技术入门》

Nvidia RTX的技术重新激发了实时图形学界对于光线追踪技术的热情,但是对于大部分游戏从业者来说,光线追踪的技术还很陌生。本文从光线追踪的理论基础开始,完整地梳理了光线追踪技术发展历史、技术流派及常用的降噪理论,并结合最新DXR API的代码示例,讲解了DX12下光线追踪API的架构及编程方法。


PBR

《Unity和Substance Painter的Look Dev显示校准》

随着PBR制作流程在手游开发里逐渐发力,Substance Painter在美术绘制贴图方面开始发挥越来越重要的作用,如何让美术在制作美术资源时能够所见即所得地得到和游戏引擎一样的渲染效果,成为开发Look Dev阶段非常重要的一个流程。由于不同项目的渲染风格不同,Substance Painter默认的显示效果无法和Unity等游戏引擎中的渲染效果保持一致。本文介绍了一套基本的Unity和Substance Painter的Look Dev显示校准流程,能够适应不同的渲染材质、Tone Mapping算法,让美术同学在制作资源时可以得到近乎完全一致的渲染效果。

 

《基于物理渲染功能的重要知识合辑》

本课程整理了UWA Blog上7篇关于物理渲染的文章,方便大家整理查看。

  1. 《迪士尼的渲染模型》
    基于迪士尼公司分享的在电影渲染中用到的PBR渲染光线模型,该模型的提出并非基于物理真实,而是偏重于对美术设计者的友好和易于使用。通过本文的学习,可以加深对PBR渲染管线原理的理解,从而更好地在工作中应用。

  2. 《微表面模式 – PBR渲染管线的材质》
    基于微表面模型,提出了新的材质模型,很好地考虑了对菲涅尔现象、阴影遮蔽以及微表面朝向分布等因素对高光项的影响,从而能够更好地模拟粗糙表面的高光现象。

  3. 《更精确的微表面分布函数GGX》
    基于2007年图形学会议EGSR的一篇论文,创新性地将微表面反射模型推广到了表面粗糙的半透明物体,从而能够模拟类似于毛玻璃的粗糙表面透射效果。文中介绍了BSDF函数、全新的微表面分布函数GGX,能够为您的实际应用提供理论指导。

  4. 《基于球面调和基的实时全局光照明》
    详细介绍了球面调和基函数、传输函数,以及预计算和实时渲染的过程,不仅提供了实现全局光照技术的方法,还提供了优化实时渲染性能的思路。

  5. 《基于Haar小波基的全局光照明》
    详细介绍了Haar小波基的算法和实现方式,这是一种采用非线性小波变换来替代线性SH变换的PRT算法,可以实时渲染出能够保留全频信息的全局光照效果,效果更加逼真。

  6. 《用真实光照亮物体》
    基于图形学、计算机视觉专家Paul Debevec 在1998年发表的一篇论文,文中介绍了使用真实拍摄光照贴图对虚拟物体进行渲染并融合的算法,以及 HDR (High Dynamic Range)及全局光线技术的使用。通过学习,您可以对改算法有深入的了解。

  7. 《HDR Tone Mapping》
    介绍了一种新的Tone Mapping算法,对于不同区域采用不同的缩放系数,从而自适应dodging-and-burning,能够在将高动态图转换为低动态图时防止高亮部分过曝,并且能达到在亮部和暗部都保持细节的效果。

 

《详解Unity引擎基于物理的渲染功能》

从基于物理的渲染(PBR)基本概念入手,在了解相关技术概念后,将其分成如下部分单独讲解,包括:BRDF漫反射、BRDF高光反射、菲尼尔函数和能量守护等,讲解Unity中的PBS实现原理及分析UnityPBS代码。最后通过案例进行实际相关操作调整。

 

《Unity PBR介绍及经验分享》

Physically-Based Rendering(基于物理的渲染)是最近几年比较火的一个话题,有不少的端游及手游都在项目里实际使用。那么这个PBR到底是什么?能起到什么样的作用?我们该如何使用好这个解决方案?本议题将从以下几个方面来说明:

  • PBR使用背景知识介绍
  • Standard Shader代码分析
  • 使用经验及性能优化分享

SRP

《URP从原理到应用——基础篇》

《URP从原理到应用——进阶篇》

自Unity 2018推出了SRP(可编程渲染管线)以来,基于SRP的基础又推出了URP和HDRP。SRP的出现具有跨时代的意义,内置渲染管线无法对开发者提供一些定制化修改接口,普通开发者无法去学习渲染管线,导致大部分开发者对这块知识都很匮乏,不利于个人成长。

基础篇主要介绍了URP的使用,如何快速从Built-in管线切换到URP,着色器如何升级,URP目前提供的功能使用说明,Shader Graph使用案例以及SRP Batcher的原理与应用,旨在帮助开发者快速上手URP。

进阶篇主要介绍了整个URP实现的原理,内置渲染Pass的步骤,CPU的渲染数据如何传递到GPU中使用,光照阴影计算方法,CPU和GPU渲染管线的区别,如何自定义渲染管线以及Render Feature的使用,最后通过五个例子实现对渲染管线源码的定制、优化默认情况下四次RT拷贝带来的性能开销,背景模糊效果、后处理拓展、3D降分辨率UI高清分辨率等。

 

《基于Unity SRP的手游渲染之道》

2010年,iPhone 4横空出世,开启手游时代。十年来,手游行业慢慢从蓝海变成红海。在2020年的今天,仿佛手游只剩下了两条路,要么就是玩法取胜,抓住用户的心;要么就是精品化,抓住用户的眼。这期间,手机硬件在升级,游戏引擎也在不断变化。终于,在2018年夏天,Unity提出了SRP的概念。本次课程讲师作为一名3D行业十年的老兵,聊一聊基于Unity SRP的手游渲染之道。

 

《Unity HDRP烘焙技术原理及应用》

从HDRP 7.0版本开始,HDRP正式脱离Preview标签,成为正式版,未来HDRP将不会产生太大的框架性的变动。如果你希望获得效果炫酷的照片级渲染效果,现在正是学习HDRP的好时机。

然而,想获得非常高的画质表现,对于烘焙的理解是必不可少的。HDRP的全局光照和Build-in管线的全局光照在Planar Reflection、Screen Space Reflection、Light Layer、Reflection Hierarchy等方面是不同的,所以在一定程度上需要重新学习。当然,有一部分知识与Build-in管线的烘焙也是重合的,例如:Lightmapper参数、光照探针、Lightmap Parameter Asset等等,所以也可以使用本教程的内容作为Build-in管线烘焙的参考。

在HDRP中,通过Lightmap、光照探针、反射探针、Planar Reflection等技术,可以获得优秀的间接光和阴影,让产品的真实度上一个量级。

 

《Unity 2019 SRP实战》

本课程介绍了手游行业渲染技术发展的历史背景,从2018年Q3开始回顾上一代和这一代爆款手游所使用的渲染技术,分析行业的发展趋势。对手游行业渲染技术未来发展的展望,从主机、PC游戏看手游行业渲染技术的未来。如何进行前瞻性的技术选型,是UE4还是Unity?轻量还是高清?自主研发还是抱大腿?以及技术预研成果的一些展示。

最后着重介绍了高清管线的技术细节:包含HDRP光照模型相对于URP和Builtin的区别,HDRP移动端设备适配时候所做的取舍,以及为适配移动端对ComputeShader所做的修改。

 

《画质与性能的权衡:如何使用可编程渲染管线(SRP)》

Scriptable Render Pipeline使用户能够更加灵活地控制Unity的渲染管线,以实现不同的渲染效果,同时也会带来不同的性能表现。这次报告将通过案例向大家展示LWRP,HDRP以及Custom SRP的使用,并通过数据来了解不同Pipeline的性能表现,以求让大家在开发过程中能够根据项目需求选择是否使用SRP以及使用何种SRP改进所用的管线。


精品项目案例

《Console级写实画面游戏的技术探索之路》

3A单机游戏的研发一直是国内游戏行业的痛。国外3A游戏普遍在拟真度上有非常高的水平,无论画面还是动画都力求逼真,这不仅仅考验渲染技术的水平,同时也对美术资源品控、生产效率、写实动画制作和动画融合技术带来巨大的挑战。本次报告分享了嘉宾讲师所在团队历经两年摸索积累的一些经验和教训。包括:
1)前言及《黑神话·悟空》Demo展示
2)写实画面的光和影
3)我们需要做什么?
4)手游的高品质与高性能

 

《次世代卡通渲染技术》

通过对《琪亚娜·极乐净土》的制作过程讲解,揭示了如何在Unity中实现高品质的卡通渲染效果。其中包括:次世代卡通角色渲染,场景全局光照及高级反射材质,卡通渲染后处理技术,动画及表情系统,头发布料物理模拟以及灯光特效等各个方面,并对今后卡通渲染技术的发展进行展望。


其它

《噪声及其在渲染中的应用》

噪声(Noise)其实在渲染里面的应用非常广泛,很多程序化建模、程序化纹理都常常用到噪声,给场景加入一些噪声可以减少重复感。同时,噪声利用得当,可以实现很多特效。

本节课程的噪声不只是指那些黑白颗粒的老式电视机的白噪声。课程将会介绍几种渲染中经常应用的噪声:白噪声(White Noise)、柏林噪声(Perlin Noise)、值噪声(Value Noise)和沃利噪声(Worley Noise)。然后会介绍一些用于增加噪声细节和变化的方法,如:分形布朗运动(Fractal Brownian Motion)、Domain Warping(定义域扭曲)。最后分三个课时手把手写Shader代码,利用前两部分的理论知识做3D Perlin Noise切片动画、水面折射的焦散光纹和火焰特效。

 

《轻量级Web3D引擎关键技术及移动网页在线可视化示范应用》

嘉宾讲师所在团队针对Web3D的三大瓶颈(数据量太大而导致的服务器端出口瓶颈、因网络传输速度慢而导致的带宽瓶颈、因网页浏览器计算力不足而导致的视觉效果差与渲染速度慢的网页端渲染瓶颈)问题进行了长期的研究,并提出了一个系统的轻量级细粒度化解决方案。

首先提出了大规模3D场景的轻量化与细粒度化方法,在保证模型细节与精度的前提下,将其组织成适合移动互联网的轻而细的场景图表达方式。透过将渐进式传输与对等传输的耦合,提出了基于兴趣度的渐进式对等传输调度机制,尽可能提升Web3D场景在线即时加载的流畅性。最后提出了轻量级Web3D全局光照在线渲染管线,即云端仅烘培Lightmap,再将其传到网页端并贴在相应模型上,这使得云端计算的强度与频度以及网络带宽消耗都得以大大降低,在网页端成功实现了全局光照的在线渲染。

在长期的项目实践中,上述轻量级关键技术也逐步集成为轻量级Web3D引擎,本次报告会在线展示利用该引擎实现的若干移动WebVR/WebGame/WebBIM案例,这些手机在线案例充分展示了该技术路线的先进性及其在线可视化应用的广泛性。

 

《虚幻4渲染编程(数学篇)》

本课程介绍了一些游戏开发中常用的数学原理推导,共分为五小节:

第一节从头开始复习游戏开发所需要的数学理论,然后再结合例子,把抽象的数学理论变成可以在屏幕上看到的效果和代码,一边做效果一边重新复习数学。

第二节是对各种求导的复习并介绍了求导在游戏视觉效果开发中的应用。

第三节针对各种矩阵进行了重新推导。

第四节介绍了使用四元数的方式来进行旋转变换之后再转回成欧拉角。

第五节介绍了游戏渲染中用光线和AABBBox、球、平面、三角形相交的这部分求交原理。

 

《基于组件和配置的着色器编辑器框架》

文章主要介绍了一套完整的着色器编辑器框架。本教程从拆解常用的着色器功能入手,分别讲解了编辑器中的通用组件以及用法,着色器属性块和配置的相互包含引用方法,最后结合编辑器提供的功能讲解了一种材质资源的优化方法。本课程属于进阶课程,适合有编写着色器代码并且想进一步了解着色器编辑器设计方法的读者。

 

《详解Unity引擎Shader Graph功能》

Shader因为涉及数学、图形学、coding语法等诸多知识点,一直是Unity开发的难题,较高的技术门槛将很多新手挡在门外。而Shader Graph的出现,可以说是给开发者带来了福音。通过它,开发者可以直观地构建着色器,可以在图形网络中创建和连接节点,而无需手写代码。具体包括但不限于:

  • 按部就班的改变界面外观
  • 扭曲和动画UV
  • 使用熟悉的图像调整操作修改对象的外观
  • 根据相关的有用信息更改对象的表面,包括它的世界位置,法线,相机距离等
  • 将属性公开给Material Inspector,以便您可以在场景的上下文中快速调整着色器的视觉效果
  • 通过创建子图的方式,在多个图和用户之间共享节点网络
  • 通过C#和HLSL创建自己的自定义着色器图形节点

Shader Graph提供了有关更改的即时反馈,即便是新用户也可以很容易参与着色器创建。本课程通过15节视频讲解,带你全面学习使用Unity最新Shader可视化编辑器——ShaderGraph,课程中详细讲解了Shader Graph的使用方法,Shader Graph所有节点解析,使用Shader Graph制作部分效果的案例以及Unity官方Shader Graph案例工程,让你可以快速上手,学习Unity最新技术知识。

 

《自优化的绘制流水线优化》

介绍了嘉宾讲师近几年在绘制流水线上取得的一系列科研成果。首先介绍国际上创新提出的自优化(auto-tuning)的绘制流水线优化框架;其次介绍利用该框架开展的着色器(Shader)简化、能耗优化等多项技术,可应用于游戏、VR等实时应用中。

 

《三维数字世界的虚与实》

随着科学技术和采集设备的发展,三维世界的数字化与智能化将是未来各行业智能化应用的空间智能基础,也孕育了无数机遇和挑战。三维数字世界及三维互动体验的时代已逐渐走来,三维技术已在工业设计、电影工业、电子游戏、智慧城市、动漫娱乐、智能制造、虚拟现实与增强现实等方面越来越广泛的应用。本报告将汇报与展示我们在三维几何建模、大规模场景绘制、时空数据融合、虚拟现实、3D打印等方面的研究与应用。

 

《如何高效使用GPU Instancing技术来进行草丛渲染》

游戏中经常需要在一个屏幕内渲染大量重复的物体。例如一望无际的广阔草原,郁郁葱葱的原始森林,流光溢彩的满地珠宝等等。在Unity开发中遇到类似需求的时候,很容易碰到性能瓶颈,导致设备卡顿发热。本文以草海渲染需求为例,详细介绍如何使用GPU Instancing技术进行渲染及性能优化。希望大家通过该文章可以了解和掌握以下内容:

  • 如何对场景中的海量重复物体(比如草海)进行高效渲染;
  • 在使用GPU Instancing功能时,我们该注意哪些方面。

往期回顾

《Unity引擎渲染模块知识Tree》

《Unity引擎资源管理模块知识Tree》

《Unity引擎UI模块知识Tree》

《测试模块知识Tree》

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/UWA4D/article/details/115630223

智能推荐

稀疏编码的数学基础与理论分析-程序员宅基地

文章浏览阅读290次,点赞8次,收藏10次。1.背景介绍稀疏编码是一种用于处理稀疏数据的编码技术,其主要应用于信息传输、存储和处理等领域。稀疏数据是指数据中大部分元素为零或近似于零的数据,例如文本、图像、音频、视频等。稀疏编码的核心思想是将稀疏数据表示为非零元素和它们对应的位置信息,从而减少存储空间和计算复杂度。稀疏编码的研究起源于1990年代,随着大数据时代的到来,稀疏编码技术的应用范围和影响力不断扩大。目前,稀疏编码已经成为计算...

EasyGBS国标流媒体服务器GB28181国标方案安装使用文档-程序员宅基地

文章浏览阅读217次。EasyGBS - GB28181 国标方案安装使用文档下载安装包下载,正式使用需商业授权, 功能一致在线演示在线API架构图EasySIPCMSSIP 中心信令服务, 单节点, 自带一个 Redis Server, 随 EasySIPCMS 自启动, 不需要手动运行EasySIPSMSSIP 流媒体服务, 根..._easygbs-windows-2.6.0-23042316使用文档

【Web】记录巅峰极客2023 BabyURL题目复现——Jackson原生链_原生jackson 反序列化链子-程序员宅基地

文章浏览阅读1.2k次,点赞27次,收藏7次。2023巅峰极客 BabyURL之前AliyunCTF Bypassit I这题考查了这样一条链子:其实就是Jackson的原生反序列化利用今天复现的这题也是大同小异,一起来整一下。_原生jackson 反序列化链子

一文搞懂SpringCloud,详解干货,做好笔记_spring cloud-程序员宅基地

文章浏览阅读734次,点赞9次,收藏7次。微服务架构简单的说就是将单体应用进一步拆分,拆分成更小的服务,每个服务都是一个可以独立运行的项目。这么多小服务,如何管理他们?(服务治理 注册中心[服务注册 发现 剔除])这么多小服务,他们之间如何通讯?这么多小服务,客户端怎么访问他们?(网关)这么多小服务,一旦出现问题了,应该如何自处理?(容错)这么多小服务,一旦出现问题了,应该如何排错?(链路追踪)对于上面的问题,是任何一个微服务设计者都不能绕过去的,因此大部分的微服务产品都针对每一个问题提供了相应的组件来解决它们。_spring cloud

Js实现图片点击切换与轮播-程序员宅基地

文章浏览阅读5.9k次,点赞6次,收藏20次。Js实现图片点击切换与轮播图片点击切换<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <script type="text/ja..._点击图片进行轮播图切换

tensorflow-gpu版本安装教程(过程详细)_tensorflow gpu版本安装-程序员宅基地

文章浏览阅读10w+次,点赞245次,收藏1.5k次。在开始安装前,如果你的电脑装过tensorflow,请先把他们卸载干净,包括依赖的包(tensorflow-estimator、tensorboard、tensorflow、keras-applications、keras-preprocessing),不然后续安装了tensorflow-gpu可能会出现找不到cuda的问题。cuda、cudnn。..._tensorflow gpu版本安装

随便推点

物联网时代 权限滥用漏洞的攻击及防御-程序员宅基地

文章浏览阅读243次。0x00 简介权限滥用漏洞一般归类于逻辑问题,是指服务端功能开放过多或权限限制不严格,导致攻击者可以通过直接或间接调用的方式达到攻击效果。随着物联网时代的到来,这种漏洞已经屡见不鲜,各种漏洞组合利用也是千奇百怪、五花八门,这里总结漏洞是为了更好地应对和预防,如有不妥之处还请业内人士多多指教。0x01 背景2014年4月,在比特币飞涨的时代某网站曾经..._使用物联网漏洞的使用者

Visual Odometry and Depth Calculation--Epipolar Geometry--Direct Method--PnP_normalized plane coordinates-程序员宅基地

文章浏览阅读786次。A. Epipolar geometry and triangulationThe epipolar geometry mainly adopts the feature point method, such as SIFT, SURF and ORB, etc. to obtain the feature points corresponding to two frames of images. As shown in Figure 1, let the first image be ​ and th_normalized plane coordinates

开放信息抽取(OIE)系统(三)-- 第二代开放信息抽取系统(人工规则, rule-based, 先抽取关系)_语义角色增强的关系抽取-程序员宅基地

文章浏览阅读708次,点赞2次,收藏3次。开放信息抽取(OIE)系统(三)-- 第二代开放信息抽取系统(人工规则, rule-based, 先关系再实体)一.第二代开放信息抽取系统背景​ 第一代开放信息抽取系统(Open Information Extraction, OIE, learning-based, 自学习, 先抽取实体)通常抽取大量冗余信息,为了消除这些冗余信息,诞生了第二代开放信息抽取系统。二.第二代开放信息抽取系统历史第二代开放信息抽取系统着眼于解决第一代系统的三大问题: 大量非信息性提取(即省略关键信息的提取)、_语义角色增强的关系抽取

10个顶尖响应式HTML5网页_html欢迎页面-程序员宅基地

文章浏览阅读1.1w次,点赞6次,收藏51次。快速完成网页设计,10个顶尖响应式HTML5网页模板助你一臂之力为了寻找一个优质的网页模板,网页设计师和开发者往往可能会花上大半天的时间。不过幸运的是,现在的网页设计师和开发人员已经开始共享HTML5,Bootstrap和CSS3中的免费网页模板资源。鉴于网站模板的灵活性和强大的功能,现在广大设计师和开发者对html5网站的实际需求日益增长。为了造福大众,Mockplus的小伙伴整理了2018年最..._html欢迎页面

计算机二级 考试科目,2018全国计算机等级考试调整,一、二级都增加了考试科目...-程序员宅基地

文章浏览阅读282次。原标题:2018全国计算机等级考试调整,一、二级都增加了考试科目全国计算机等级考试将于9月15-17日举行。在备考的最后冲刺阶段,小编为大家整理了今年新公布的全国计算机等级考试调整方案,希望对备考的小伙伴有所帮助,快随小编往下看吧!从2018年3月开始,全国计算机等级考试实施2018版考试大纲,并按新体系开考各个考试级别。具体调整内容如下:一、考试级别及科目1.一级新增“网络安全素质教育”科目(代..._计算机二级增报科目什么意思

conan简单使用_apt install conan-程序员宅基地

文章浏览阅读240次。conan简单使用。_apt install conan