代码改变世界

随笔分类 -  渲染(Rendering)

AAA游戏中雪的实现

2019-02-17 12:11 by 风恋残雪, 3275 阅读, 收藏, 编辑
摘要: 现在越来越多的AAA游戏中都实现了逼真的雪的效果,比如战神4、地平线:黎明时分、荒野大镖客:救赎2、古墓丽影:崛起等都实现了不错的雪地效果。今天我们就来探究一下他们的实现方式。现在主流的实现方式都是通过硬件提供的细分功能来实现的。 Batman: Arkham Origins 这个游戏里面没有地形, 阅读全文

游戏引擎中的光照算法

2019-01-12 12:13 by 风恋残雪, 3441 阅读, 收藏, 编辑
摘要: 前言 今天我们来聊一下游戏引擎中的光照算法,从最开始的Forward Render,到后来的Deferred Render再到后面的Clustered Forward Render以及Clustered Deferred Render,分析一下实现步骤以及它们的优缺点。 Forward Render 阅读全文

深入剖析MSAA

2018-01-08 21:37 by 风恋残雪, 18461 阅读, 收藏, 编辑
摘要: 本文打算对MSAA(Multisample anti aliasing)做一个深入的讲解,包括基本的原理、以及不同平台上的实现对比(主要是PC与Mobile)。为了对MSAA有个更好的理解,所以写下了这篇文章。当然文章中难免有错误之处,如有发现,还请指证,以免误导其他人。好了,废话不多说,下面我们开 阅读全文

基于物理的渲染详尽指南 卷1光与介质:基于物理的渲染和着色理论

2016-04-23 15:59 by 风恋残雪, 4250 阅读, 收藏, 编辑
摘要: 光与介质 基于物理的渲染和着色理论 此文对于程序员和美术制作人员都有很大的帮助作用,希望你看完后对基于物理的渲染有个整体的理解,此篇翻译的文章(The Comprehensive PBR Guide by Allegorithmic - vol. 1)基本上是从美术的角度来解释基于物理的渲染,有时间 阅读全文

线性空间光照(即Gamma)

2016-04-17 17:58 by 风恋残雪, 3833 阅读, 收藏, 编辑
摘要: 在渲染管线中正确使用Gamma校正是决定渲染效果的一个非常重要的因素,现在商业引擎包括很多国内引擎都已经是在线性空间计算光照。当然也包括我们之前公司设计的引擎。关于gamma校正的定义可以查看wikipedia或者看知乎的这篇文章。 原文地址:http://filmicgames.com/archi 阅读全文

如何从真实照片中分离高光和漫反射信息

2016-04-16 10:30 by 风恋残雪, 3504 阅读, 收藏, 编辑
摘要: 原文地址:http://filmicgames.com/archives/233 上篇文章讲到所有物体都是有光泽的,那么这篇文章作者将展示如何从图片中分离漫反射和高光信息。 你可能以为接下来的这些东西会比较困难,但是它实际上并没有你想你的困难。我在家做的一件事情就是使用偏振光来把漫反射和高光从真实图 阅读全文

所有物体都是有光泽的

2016-04-15 23:42 by 风恋残雪, 1205 阅读, 收藏, 编辑
摘要: 原文地址:http://filmicgames.com/archives/547 当我偶尔看到一个讨论高光的教程或者文献的时候,一般会有像这样的一句话"一些诸如面料或者硬纸板的材质是漫反射的表面,它们没有高光信息"。这是一个谎言!真实世界中的每一种物体都有高光,即使是很旧的布料或者硬纸板。我使用自制 阅读全文

延迟渲染之由深度重建世界位置

2014-12-08 23:23 by 风恋残雪, 1266 阅读, 收藏, 编辑
摘要: 前面一篇文章介绍了混合方式的延迟渲染(Hybrid deferred shading),本文来讲解一下其中的一个细节,由深度构建世界位置,我们这里假定使用D3D9以及左手坐标系。我在这里介绍两种方式,这两种方式也就跟实现方式有一定的关系。方法1:如果我们在第一遍中写深度时使用的是经过透视除法的z值 ... 阅读全文

延迟着色

2014-12-08 00:42 by 风恋残雪, 3265 阅读, 收藏, 编辑
摘要: 今天我们来讨论一下游戏中多光源的应用,为了有更好的光照效果,引擎就必须对多光源进行支持。实现方式大致有以下几种:1、传统的前身渲染(Forwardrendering)。 这个一般在国内的游戏引擎中比较常见,国外引擎中也有使用,比如最近的使命召唤系统,为了保证帧率就使用了前向渲染来支持有限个数的点光... 阅读全文