Virtual back lighting method test

Purpose of implementations. Avoiding increasing draw-call. 这是手机游戏预览的真实预览。 https://videopress.com/v/30i13sJ5?resizeToParent=true&cover=true&autoPlay=true&controls=false&loop=true&preloadContent=metadata #if USE_SECOND_DIRECTIONAL_LIGHT half2 RoL = max(0, half2(dot(ReflectionVector, DirectionalLightDirection), dot(ReflectionVector, _WorldSpaceLightPos1.xyz))); half2 PhongSpecular = PhongApprox(Roughness, RoL); half3 Directional = (Shadow * NoL) * DirectionalLightColor * (DiffuseColor + SpecularColor * PhongSpecular.x); half NoL2 = max(0, dot(normalWorld, _WorldSpaceLightPos1.xyz)); Directional += NoL2 * _LightColor1 * (DiffuseColor + SpecularColor * PhongSpecular.y); #else... Continue Reading →

Customized Unity Standard mobile PBR from 2018

Change issued. Environment reflection method used by UE4. Some reflect approximation method has optimized friendly performance of mobile. Huge reduce to texture sampler counts. AO map generated used from height data with simple math. https://youtu.be/VXH8r0BFdmU

White color temperature calibrations of game engines

SP 和Unity引擎或者虚幻引擎等多数引擎之间都有显示上的差异。 现在我们需要了解两个方面。 这本书的后面也会讲到,就算是通用的pbr渲染,内部也会有软件上的差异。 差距明显的例子有,随着 Sampling 次数的不同,渲染的品质也有很大的差距。

DUAL PARABOLIC MAT-CAP

Purpose of implementation. I was used screen space light texture technique (matcap or light-cap) since from 2006 in years.And then my new stuff of new matcap technique (I called dual matcap technique) since by 2015 in years When I developed android mobile game in Korea.Basically matcap technique is So famous tweak shader lighting technique for... Continue Reading →

Stylized Material Production / 程序风格化材质制作

那么Stylized art的定义是什么呢?在美术层面什么是Stylized texture ,Stylized game art 到底是什么我们究竟知道吗?我和大家有必要需要一些时间对几个意义进行分析。这样可以进行充分的理解。

HELLO GPU?

Purpose of this lecture 给90后新人美术简单介绍电脑图形历史,让他们认识到过去和现在,从而培养可以预估未来的洞察力。 这次分享的内容包含对 GPU 的介绍,对近期有变化的游戏图形优化因素的基本原理的介绍,使美术可以根据这些信息主动树立优化思路。

Essentials of Mobile hardware

与PC游戏开发不同的是,Mobile device的硬件种类繁多,差异较大。 对于我们而言,最重要的是积累开发Mobile device的经验。

综合研究基于物理的渲染算法Unity3D[Translation]

基于物理的渲染算法有关 Unity3D 的概括研究 来说说基于物理的渲染。基于物理的渲染(PBR)近几年非常火爆。Unity 5, 虚幻引擎 4, 寒霜引擎, 甚至是 ThreeJS, 更多的游戏引擎在使用它。很多 3D 模型工作室在根据 Marmoset Toolbag 和 Allegorithmic Substance Suite等人气工具转换成 "PBR Pipeline"。现在没几个不熟悉管线的美术,但是了解管线在后台是怎么运行的,很少有引擎和美术知道。我这个指南分解(分析) PBR 渲染 (shading),是想让初学者方便理解 PBR。让我们开始吧。 PBR的物理特征 在过去的 3 ~ 40 年,我们对周围世界的理解和科学上 / 数学上它是怎么运作的都有很多进步。而且这种理解在渲染技术领域也有了很大的发展。多位灵敏的研究者对光,视野,表面正常形态,然后这三个是怎么互相作用的有着深刻的结论。这种发展大部分是围绕 BRDF (双向反射率分布函数)和固有能量保存的想法为中心形成的。​如果想理解光和观测点跟Surface是怎么相互作用的,首先要理解Surface本身。光照射到完全光滑的表面几乎可以在表面形成完整的反射。光和我们叫做粗糙表面的东西相互作用的时候,他的反射不是类似的,这可以用微表面 (microfacets)的存在说明。 我们看物件的时候,要假设他的表面不是完全光滑的,而是用很小的面组成的。每个物件都是完整的 Specular reflection 。这个微表面(microfacets)通过光滑表面的法线,具有分布的法线。微表面法线的不同程度是根据表面粗糙度定的。表面越粗糙,高光损失的可能性就越大。所以粗糙的表面有更大更模糊的斑点。光滑的表面上,光的反射比之前更完整时可以压缩反射高光。 再回到 BRDF... 双向反射率分布函数 (Bridirectional Reflectance Distribution Function, BRDF)是说明表面反射率的函数。有各种 BRDF 模型 / 算法,其中大部分不是基于物理的算法。基于物理的 BRDF需要能量守恒。'能量守恒 (Energy Conservation)'是说从地表反射的总光量,比地表收到的总量少。表面反射的光不能比之前讨论的所有微表面相互作用前更强烈。... Continue Reading →

PBR Specular D的几何学含义[Translation]

Original Topic from 그냥 그런 블로그 :: PBR Specular D 의 기하학적 의미 (tistory.com) This topic is a Chinese translation of the original text above. PBR Specular D的几何学含义 PBR( Physically Based Rendering )里成为大趋势的Cook-Torrance的Specular BRDF [1]定义如下: 这里面D函数是对于微表面(microfacet)的倾斜度的分布(Distribution)函数。本文档将对于本函数在几何学上的意义进行说明。 一个表面(surface)是由几个微表面构成,这是PBR理论的根本。而且构成表面的各微表面都有着不同的法线(normal)。另外微表面上发生了镜面反射(mirror reflection, 正反射)。 很多文档里面将这样的微表面的法线用m表示,也会用h表示。应该是microfacet normal和half vector的略写。那么图1里面表面和微表面的关系就显而易见了。 图1:由微表面构成的表面[2]. 微表面的法线用m来表示很容易理解,但是用h(half vector)来表示就有点费解了。Burley和Cook-Torrance [1, 3]一致记述了用半向量(half vector)来表现微表面的法线。 这里最好是用半向量的思路来理解这个含义。上面我们已经假设微表面能够镜面反射,现在我们来反过来看一下这个问题。 表面内,能够给我们展示镜面反射的、带有倾斜度的微表面究竟有多少呢? 这就是我们要通过Specular D函数得到的值的本质。要看到图2最左边的微表面向我这个方向的镜面反射结果的话,需要怎样的倾斜度呢?这里的n是表面法线,m是微表面法线。 图2: 微表面样品 镜面反射是“入射角和反射角相同的反射”。因此像下图那样光的向量l和视图向量v的一半,即半向量(h)和微表面法线(m)一致的情况下,就会发生镜面反射。... Continue Reading →

위로 ↑