代码改变世界

使用Adreno Profiler分析android游戏

2016-04-17 19:38 by 风恋残雪, 12987 阅读, 0 推荐, 收藏, 编辑
摘要:有时候我们需要对自己的游戏或者别人的游戏进行分析,比如我们需要了解一个引擎的大体渲染的流程,这个时候我们可以借助一些工具,在PC上我们可以使用Microsoft PIX、Intel GPA、Nvidia的Nsight和PerfHud来截取一帧的数据来分析。由于最近转到移动平台上,有时候也需要分析游戏 阅读全文

线性空间光照(即Gamma)

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

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

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

所有物体都是有光泽的

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

记32位程序(使用3gb用户虚拟内存)使用D3DX9导致的一个崩溃的问题

2015-12-10 01:14 by 风恋残雪, 1267 阅读, 0 推荐, 收藏, 编辑
摘要:为了增加32位程序的用户虚拟内存的使用量,我们使用了/LARGEADDRESSAWARE编译选项来使32位程序可能使用到3gb的内存,能否使用到3gb内存也跟平台、系统和设置有关系,现摘抄部分作为参考具体可参考微软官方网站[i]:Limits on memory and address space ... 阅读全文

D3D9 浮点精度的问题

2015-07-20 18:00 by 风恋残雪, 1292 阅读, 1 推荐, 收藏, 编辑
摘要:最近在对我们的渲染引擎进行优化的时候,发现一个奇怪的现象,因为我们做了Pre-Z(把比较大的物体先绘制一遍,这个时候关闭颜色写,只开启深度测试和写入,目的是为了减少后面一些不可见像素的计算。),面在绘制另外一遍的时候(这一遍我们是把相同的进行了合批处理,采用硬件实例化技术(Hardware in... 阅读全文

D3D9 优化小技巧

2015-04-16 21:12 by 风恋残雪, 1580 阅读, 0 推荐, 收藏, 编辑
摘要:此篇文章主要讲一些小技巧,针对前面转载的D3D9 GPU Hacks,我们可以做的一些优化。在做延迟渲染或者其它需要深度的地方使用INTZ格式的纹理,这样可以直接对纹理进行操作,节省了显存和带宽,这样即使在前向渲染的时候也可以获取深度,有了深度信息我们就可以做很多效果,如水的柔边,水边泡沫,景深等效... 阅读全文

D3D9 GPU Hacks (转载)

2015-04-16 20:57 by 风恋残雪, 696 阅读, 0 推荐, 收藏, 编辑
摘要:D3D9 GPU HacksI’ve been trying to catch up what hacks GPU vendors have exposed in Direct3D9, and turns out there’s a lot of them!If you know more hack... 阅读全文

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

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

延迟着色

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