[zh]
上一篇“游戏中基于物理的渲染(三)”中详细讲解了microfacet BRDF,本篇将解释目前大部分游戏中所用的BRDF和基于物理的BRDF之间的区别。
这里先回顾一下第二篇中推导出来的公式:
[/zh]
[en]
In my last article "Physically-based Rendering in Game, Part 3", I explained microfacet BRDF. Here I will talk about the difference between BRDF in most current game and physically-based BRDF.
Firstly we review the equation from my second article:
[/en]
$L_0(\mathbf{v})=\pi \rho(\mathbf{l_c}, \mathbf{v}) \otimes \mathbf{c}_{light} (\mathbf{n} \cdot \mathbf{l_c})$
[zh]
对比
游戏中常用的的反射方程是这样的 ...
[zh]
上一篇“游戏中基于物理的渲染(二)”中介绍了光照的推导,本篇将讲解基于物理的BRDF。
[/zh]
[en]
In last article "Physically-based Rendering in Game, Part 2", I introduce lighting equations. In this one, I will explain you physically-based BRDF.
[/en]
Microfacet BRDF
[zh]
大多数基于物理的specular BRDF的基础是microfacet理论。这个理论是用来描述来自于一般表面(不是光学平滑的)的反射。Microfacet理论的基本假设是,表面是由很多微平面(microfacet)组成,这些微平面都太小了,没有办法一个一个地看到;并假设每个microfacet都是光学平滑的。
每个microfacet把一个入射方向的光反射到单独的一个出射方向, ...
[zh]
上一篇“游戏中基于物理的渲染(一)”中介绍了反射方程和Lambert,本篇将介绍基于物理的光源部分。
[/zh]
[en]
In my last article, "Physically-Based Rendering in Game, Part 1", I introduce reflectance equation and Lambert. In this article, we mainly focus on physically-based lighting.
[/en]
[zh]
精确光源
[/zh]
[en]
Punctual Light Sources
[/en]
[zh]
游戏中经典的光源有point, directional和spot,这些局部光源都可以抽象成“精确光源”的概念,表示一个方向确定、大小为无穷小的光源。由于要计算的是到达表面点时的光照,所以不考虑从光源到表面之间的衰减。因此,精确光源都可以用颜色$\mathbf{c}_{light}$ ...
[zh]
“游戏中基于物理的渲染”系列由4-5篇文章组成,介绍了如何在实时渲染中使用基于物理的方法。内容主要来自于SIGGRAPH 2010的course:Physically-Based Shading Models in Film and Game Production。本系列文章讲述的渲染技术用在了KlayGE中。
[/zh]
[en]
"Physically-Based Rendering in Game" serial, which contains 4-5 articals, introduces how to use physically based method in realtime rendering. The main idea comes from a course of SIGGRAPH 2010: Physically-Based Shading Models in Film and Game Production. The rendering technique in this serial is used in KlayGE 3.11.
[/en]
[zh]
引言
[/zh]
[en]
Int ...
[zh]
KlayGE网站的RSS地址统一更换为http://feeds2.feedburner.com/klayge,为了不影响大家使用,麻烦原先订阅了本网站RSS的朋友们更换一下地址吧,谢谢。
[/zh]
[en]
KlayGE website's RSS switches to http://feeds2.feedburner.com/klayge. In order not to affect your usage, for the original subscriber, please change your RSS address to the new one. Thanks.
[/en]
[zh]
KlayGE 3.11.0如期而至,本版的主打是增强的OpenGL插件和Juda Texture。主要更新如下:
支持OpenGL 4.1
增加了Juda Texture,最大支持1M*1M大小的纹理
增强立体显示,支持立体眼镜
去掉了D3D9和D3D10插件,WinXP下由OpenGL插件接管
支持基于物理的BRDF
SSAO速度提高10倍
增强Post Processor脚本
水体渲染的质量和速度都有所提高
增加了配置工具
圣诞临近,KlayGE 3.11.0就算我送给广大网友的圣诞礼物吧。感谢大家这么多年来的支持和帮助。
从此处下载。
[/zh]
[en]
KlayGE 3.11.0 released. The flagship feature of this version is enhanced OpenGL plug-in and Juda Texture. The main updates ...
[zh]
KlayGE的文档现在采用wiki的形式发布,任何人都可以参与、编辑和完善。
[/zh]
[en]
The documents of KlayGE are now maintained by a wiki system. Everybody can involve, edit and complete any item.
[/en]
中文版
English version
上个月的一篇帖子提到了ATI OpenGL驱动的一些陷阱,随着ATI驱动每个月的新版本不断发布,这些问题是否得到改善呢?
glBlitFramebufferEXT
情况一样,没有任何变化,还是没法用:(。
glClearBuffer*
WTF,没有任何变化,还是没法用。
glBeginConditionalRender
已经改进!如果glBeginConditionalRender和glEndConditionalRender完全严格地配对使用,就能正常工作,不会造成恐怖的死锁。如果一旦不小心没有遵循配对使用的规则,照死锁不误。NVIDIA的驱动上不配对也没发生任何错误,虽然确实不该那么用。
新发现的问题
在改进海洋渲染的过程中,displacement texture从ABGR16f改成了ABGR8,结果在ATI OpenGL的情况下一片平坦。经过其他测试后的结 ...
前几天的帖子提到过gDebugger的新版本是免费的。现在,新版本5.8终于来了,只要注册就可以免费使用1年,也不是永久免费的。下载地址见:http://www.gremedy.com/free_license.php。
在KlayGE的Deferred Rendering例子中,我使用了Crytek增强的Sponza模型。相比原始模型,纹理和几何细节都增强了很多。当然,Crytek的模型也有一些问题,需要一些修改才能用上的。比如,Crytek提供的max格式不少同类型物体是合并在一起的,不利于场景管理器的裁剪。而obj格式虽然物体是分开的,但材质不对。所以我从obj格式开始导入,把材质全部调整成和max的版本一致,得到了相对完美的结果。Crytek的Sponza已经属于public domain,所以我也把我修改过的模型放出来:
sponza_max_klayge.7z
纹理没有经过修改,可以直接从Crytek下载到:
sponza_textures.rar