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

智能推荐

info级别日志与debug_debug中的计算是否在info级别也会跑-程序员宅基地

文章浏览阅读6.3k次。日志默认info级别debug日志不会打印,但是会执行日志填充的数据例如:logger.debug("日志输出",2*10); 1. 2*10会先执行出结果,然后继续往下走2. 在ch.qos.logback.classic.Logger#filterAndLog_1方法中判断是否符合级别要求是否需要输出3.如图:..._debug中的计算是否在info级别也会跑

Third calibration example - Calibration using Heikkil�'s data (planar and non-planar calibration rig-程序员宅基地

文章浏览阅读1.4k次。Similarly to the previous example, let us apply our calibration engine onto the data that comes with the originalcalibration toolbox of Heikkil� from the University of Oulu. Once again. do not bothe_non-planar calibration

物联网常用的网络协议:MQTT、AMQP、HTTP、CoAP、LwM2M_lmm2m和mqtt-程序员宅基地

文章浏览阅读1w次,点赞10次,收藏63次。物联网常用的网络协议:MQTT、AMQP、HTTP、CoAP、LwM2M物联网设备间沟通的语言,就是网络协议。设备间想相互交流,通信双方必须使用同一种“语言”。比如说你和中国人问好说’你好‘、日本人问好要说‘こんにちは’、和英国人问好要说‘hello’.说起网络协议,你可能马上就想到了 HTTP 协议。是的,在日常的 Web 开发中,我们总是需要跟它打交道,因为 HTTP 协议是互联网的主流网络协议。类似地,应用在互联网中的网络协议,还有收发电子邮件的 POP3 、SMTP 和 IMAP 协议,以及_lmm2m和mqtt

fortran使用MKL函数库中的geev计算一般矩阵的特征值与特征向量_fortran求矩阵特征值-程序员宅基地

文章浏览阅读7.4k次,点赞4次,收藏20次。这篇博文简要记录一下使用MKL函数库计算一般矩阵的特征值与特征向量对形如对称矩阵或是埃尔米特等特殊矩阵有其对应的子程序,在这里先不涉及。有需求的可以自行查阅MKL官方文档下面给出本次示例代码:代码使用f95接口。f77借口参数太多,笔者太懒<不过懒惰是创新的原动力^_^>program testGeev use lapack95 implicit..._fortran求矩阵特征值

Numpy, Scipy, Matplotlib基本用法_np.imresize-程序员宅基地

文章浏览阅读147次。学习内容来自:Numpy Tutorial文章目录Array SlicingArray IndexingMathematical ManipulationBroadcastingImage Processing基本的用法课程里面说的挺详细了。 特别记录一些需要关注的点。Array Slicing使用固定数字进行array寻址会导致数组降维。y = np.random.random((3,..._np.imresize

蓝桥杯 历届试题 回文数字 C++_c++蓝桥杯 回文数-程序员宅基地

文章浏览阅读355次。题目阅览 观察数字:12321,123321 都有一个共同的特征,无论从左到右读还是从右向左读,都是相同的。这样的数字叫做:回文数字。  本题要求你找到一些5位或6位的十进制数字。满足如下要求:  该数字的各个数位之和等于输入的整数。  输入格式  一个正整数 n (10<n<100), 表示要求满足的数位和。  输出格式若干行,每行包含一个满足要求的5位或6位整数。  数字按从小到大的顺序排列。  如果没有满足条件的,输出:-1样例输入144样例输出199899_c++蓝桥杯 回文数

随便推点

Java生成二维码,扫描并跳转到指定的网站_java扫二维码进入自己制作的网页-程序员宅基地

文章浏览阅读6.2k次,点赞3次,收藏13次。需要的pom文件 &lt;dependency&gt; &lt;groupId&gt;com.google.zxing&lt;/groupId&gt; &lt;artifactId&gt;core&lt;/artifactId&gt; &lt;version&gt;3.1.0&lt;/version&gt;_java扫二维码进入自己制作的网页

python:多波段遥感影像分离成单波段影像_一个多波段影像分解成多个单波段影像-程序员宅基地

文章浏览阅读650次。在遥感图像处理中,我们经常需要将多波段遥感影像拆分成多个单波段图像,以便进行各种分析和后续处理。本篇博客将介绍一个用Python编写的程序,该程序可以读取多波段遥感影像,将其拆分为单波段图像,并保存为单独的文件。本程序使用GDAL库来处理遥感影像数据,以及NumPy库来进行数组操作。结果如下图所示,选中的影像为输入的多波段影像,其他影像分别为拆分后的多波段影像。_一个多波段影像分解成多个单波段影像

移动硬盘突然在电脑上无法显示_电脑无法显示移动硬盘-程序员宅基地

文章浏览阅读5.1k次,点赞2次,收藏4次。0前言一直用的好好的移动硬盘突然不显示了,前段时间因为比较忙,一直没顾得上管它,趁这个假期,好好捅咕了一番,总算是弄好了,特此将解决的过程记录如下:1.问题描述 1.我的移动硬盘在其他人的电脑上能够正常显示和使用 2.其他移动硬盘在我电脑上能够正常的显示和使用 3.在我的电脑上,该移动硬盘,既不显示盘符,磁盘管理 又不显示该磁盘2.问题分析1.我的移动硬盘能够在其他人电脑上_电脑无法显示移动硬盘

Linux开机启动过程(16):start_kernel()->rest_init()启动成功_linux 标志着kernel启动完成-程序员宅基地

文章浏览阅读1k次。Kernel initialization. Part 10.在原文的基础上添加了5.10.13部分的源码解读。End of the linux kernel initialization processThis is tenth part of the chapter about linux kernel initialization process and in the previous part we saw the initialization of the RCU and stopped o_linux 标志着kernel启动完成

Scala安装和开发环境配置教程_scala安装及环境配置-程序员宅基地

文章浏览阅读5.3k次,点赞5次,收藏23次。Scala语言概述:Scala语言是一门以Java虚拟机为运行环境,支持面向对象和函数式编程的静态语言,java语言是面向对象的,所以代码写起来就会相对比较模块儿,而函数式编程语言相对比较简洁_scala安装及环境配置

深扒人脸识别60年技术发展史_人脸识别发展历史-程序员宅基地

文章浏览阅读2.4k次。“他来听我的演唱会,门票换了手铐一对”。最近歌神张学友变阿SIR,演唱会上频频抓到罪犯,将人脸识别技术又一次推到了大众的视线中。要说人脸识别技术的爆发,当属去年9月份苹果iPhone x的发布,不再需要指纹,只需要扫描面部就可以轻松解锁手机。任何技术一旦进入智能手机这个消费市场,尤其是被苹果这个标志性的品牌采用,就意味着它将成为一种趋势,一个智能设备的标配。在智能手机快速崛起的这几年,其密码锁..._人脸识别发展历史