leon

网络游戏开发者

UE高级性能剖析技术(一)-- RHI线程(渲染提交)

在最前面 基于UE的手游客户端的性能主要由这七大部分构成:CPU逻辑,CPU渲染,图形API(提交),GPU渲染,内存,带宽,加载时间。这几个基本元素又会合力衍生出一些新的性能指标,例如功耗(往往同gpu负载和带宽紧密相关)。同时这七部分又构成一个闭合的木桶,最长的一块是主要瓶颈,并且瓶颈可以在...

2019-07-11 22:14:57

阅读数 99

评论数 1

基于深度学习的渲染  Deep Learning Based Rendering

此文作为siggraph17的《Deep Learing:The Futrure of Real-Time Rendering?》的整理笔记。 就像《必然》中说的那样,如同这个时代的互联网一样,AI已然成为下个时代的主角, AI让计算机拥有对复杂算法的决策能力,是解决很多复杂问题的终极武器。它尤...

2019-03-08 12:39:24

阅读数 297

评论数 0

颜色 /About Color --图形学的B面(二)

                                                                                                                                                     ...

2018-12-14 17:00:05

阅读数 248

评论数 0

UE4 Render System Sheet(UE4渲染系统概览)

UE4的渲染系统代码量庞大,复杂,我们写UE渲染相关的功能需求的时候,经常需要反复翻阅它里面的数据结构,pipeline,这里用一张图,把UE4的渲染系统的脉络梳理进来,让大家都能更方便的修改UE引擎的渲染功能 (你需要点下放大镜)    ...

2018-12-05 10:28:29

阅读数 358

评论数 0

RTR4 拾遗(一)-- 图形学的B面

        RTR(Real Time Rendering)对于游戏图形开发来说是本宝书,最近对新版的RTR4进行重读,知识需要经过自己的消化重表述才能成为自己的,所以在这里对里面一些重要内容以我自己的理解重新整理,这篇是关于第8章的Light and Color。它对应于RTR3的第7章ad...

2018-12-05 10:22:19

阅读数 407

评论数 0

图形编程中常用浮点数及其精度剖析

    图形学中经常要涉及使用各种格式的浮点数类型,如float,half,也会经常用到各种格式的浮点数类型PixelFormat,例如R10G10B10A2,R11G11B10,RGBHalf...。在合适的情况下使用合适的浮点数类型,是保证效率和效果的基础。虽然有些是大学本科课程,但牢记于脑海...

2018-09-26 17:55:34

阅读数 319

评论数 0

谈谈法线图的压缩

      贴图压缩是游戏开发中常见的一个问题,不过说到法线图的压缩,其实里面就有一些特殊的问题要处理。前段时间做了一次贴图通道的优化,打算用两个通道表示法线图并且和其他通道合并到一张图里,以减少采样次数。这个过程中陆续挖掘了一些问题,记录一下。为什么要用3个通道来表示法线?        我们通...

2018-04-11 21:51:40

阅读数 1625

评论数 0

针对移动端特性的渲染优化(续)

    本文接着之前的文章《基于移动端tbdr特性gpu的渲染优化》,继续补充一些移动端渲染优化的点尽量使用direct rendering 模式,很多游戏使用了很多的后期处理,所以需要先渲染到贴图上,然后再一遍遍的blit 到屏幕上,blit操作是一个昂贵的操作,它涉及到对当前framelist...

2018-03-20 11:14:18

阅读数 983

评论数 0

针对移动端TBDR架构GPU特性的渲染优化

    TBDR(Tile-Base-Deffered-Rendering)是现代移动端gpu的设计架构,它同传统pc上IR(Immediate-Rendering)架构的gpu在硬件设计上是差别很大的。手游正是运行在这些移动端的TBDR架构上,所以手游的渲染优化在硬件的角度上讲有其独特之处,甚至...

2018-02-09 14:49:25

阅读数 3906

评论数 1

Sparse Virtual Texture (虚拟贴图技术)

Virtual texture 技术用于解决3D场景中大量贴图而内存有限的情况,它的思想可以参考虚拟内存。 虚拟内存技术中,物理内存是有限的,但是虚拟内存可以远远大于物理内存,虚拟内存被抽象成一个个page即分页文件,page可以真实的载入到物理内存中,也可以存在与磁盘文件上,寻址时采用的内存地址...

2017-11-03 18:32:54

阅读数 2872

评论数 0

textrue坐标到uv的映射

前两天被shader里面一个奇怪的bug困扰了一下,其实就是一个最简单的问题,我有一个rgbafloat的贴图,只能点采样,因为存储的不是颜色是数据不能线性插值,而这时候我已知当前点的texture坐标x y和贴图尺寸w h如何计算这个位置的uv供shader采样?       我直接使用了x/(...

2017-10-23 11:58:30

阅读数 1076

评论数 0

简单理解spherical harmonic lighting(球谐光照)

1.球谐光照球谐光照在现代游戏图形渲染领域应用很广,用于快速的模拟复杂的实时光照,例如unity中的light probe以及一些不重要的实时光源,可以用球谐光照快速的计算。球谐光照的优点是运行时的计算量与光源的数量无关,如果参数足够却可以较好的模拟实时的光照结果。球谐光照的原理不仅涉及图形学,概...

2017-10-18 10:07:45

阅读数 5932

评论数 2

基于GPU Skin的骨骼动画Instance的实现

很多游戏类型需要在场景中表现大量的角色,而这些角色大多使用骨骼动画的方式来表现,传统的基于CPU蒙皮的方式在手机上对角色数量的限制非常大,本文实现了一种基于GPU Skin的方式,并且结合GPU Instance技术,将大量同类角色的蒙皮到绘制全交给GPU并行进行,并合并了同类角色的批次,本文对着...

2017-08-18 20:39:14

阅读数 6265

评论数 0

Unity中depth pass的优化以及谈谈unity中的Framebuffer

最近遇到个很小但是很有意思的问题,在unity中如何从屏幕copy depth texutrue出来用? 这个问题的来源是我发现在unity在移动平台上为了得到深度图,通常需要一个单独的pass,例如我们用到的一些后处理特效需要用刀场景深度信息,我们通过把camera的flag设置...

2017-06-29 21:28:00

阅读数 4074

评论数 5

Unity中基于Gpu Instance进行大量物体渲染的实现与分析(一)

在3D渲染中,尤其是现代3D游戏中,我希望能够绘制越来越多的场景物体,这对于设备(尤其是移动端)的性能是个极大的考验,对于新一代的渲染api,都逐渐支持了Gpu Instancing技术,这对于大量相同物体的绘制提供了一个新的方案,在最新的unity5中也提供了对gpu instance 的支持,...

2017-06-15 09:52:37

阅读数 19626

评论数 3

优化shader程序的一些tips

在写shader的时候,其实一些写法对于其执行影响非常大,而且由于gpu和cpu在架构上的不同,代码的优化思想也不一样,最近一直在写几个shader,为了性能问题,查阅了很多资料,把一些tips总结下来。

2017-02-17 19:24:58

阅读数 4805

评论数 0

Unity3d中渲染到RenderTexture的原理,几种方式以及一些问题

虽然RenderTexture这个技术是个普遍使用的技术,但是用好它还是要理解他的底层原理和避免一些使用的问题。这里就UNITY3d中的RenderTexure介绍Rendertexture的底层原理和使用时可能遇到的坑和效率问题。

2017-02-10 18:24:46

阅读数 35585

评论数 9

do{...}while(0)的意义和用法

转自http://www.spongeliu.com/415.htmllinux内核和其他一些开源的代码中,经常会遇到这样的代码:do{ ... }while(0)这样的代码一看就不是一个循环,do..while表面上在这里一点意义都没有,那么为什么要这么用呢?实际上,do{...}while(...

2017-02-03 11:51:49

阅读数 2487

评论数 6

扩展欧几里得定理的证明和代码

扩展欧几里得定理的证明和代码

2017-01-25 19:07:16

阅读数 1255

评论数 0

Alpha To Coverage

Opengles3.0新增加了一个Alpha To Coverage的特性,这是一个对Alpha Test的优化,那么这里要搞清楚Alpha to Coverage 是个什么东西。     AlphaTest 和AlphaBlend都可以用来表现(全)透明的效果,对于草,树这种,我们会使用Alph...

2016-11-09 15:13:35

阅读数 1727

评论数 0

提示
确定要删除当前文章?
取消 删除