随笔 - 129  文章 - 0  评论 - 123  阅读 - 33万
01 2011 档案
KlayGE中的延迟渲染(五)完结篇
摘要:转载请注明出处为KlayGE游戏引擎,本文地址为http://www.klayge.org/?p=819 KlayGE中的延迟渲染(四)集中在Anti-alias的方法,本篇是这个系列的完结篇,我们一起来探讨未来将对延迟渲染所做的改进。剩余内容请见http://www.klayge.org/?p=819 阅读全文
posted @ 2011-01-30 12:02 龚敏敏 阅读(1276) 评论(0) 推荐(0) 编辑
KlayGE中的延迟渲染(四)
摘要:转载请注明出处为KlayGE游戏引擎,本文地址为http://www.klayge.org/?p=793KlayGE中的延迟渲染(三)介绍了lighting pass的优化技巧,本篇将讲解anti-alias。 Anti-Alias 从Deferred Shading发明的一天起,anti-alias的问题就一直困扰着所有Deferred的方法。虽然很多无良的游戏厂商直接在Deferred Rendering的游戏里不支持AA,但确实AA对提升画面质量很有帮助。 Edge AA 在Deferred的框架里,很自然会想到用Edge AA来处理AA。其过程不外乎: 边缘检测,得到每个像素“像边缘的 阅读全文
posted @ 2011-01-26 15:41 龚敏敏 阅读(1361) 评论(0) 推荐(0) 编辑
KlayGE中的延迟渲染(三)
摘要:在KlayGE中的延迟渲染(二)里,Deferred Lighting的3个阶段都已经得到解释,本篇将讲解如何更快地计算lighting pass。剩余内容请见http://www.klayge.org/?p=782 阅读全文
posted @ 2011-01-21 09:24 龚敏敏 阅读(1307) 评论(0) 推荐(0) 编辑
用2个float模拟double
摘要:在有些设备上只有float没有double,比如前几代GPU、部分移动设备等。当非得用到double精度的时候该怎么办?我记得去年在某个地方见到过用2个float模拟double的作法,经过一番玩命地搜索,得来全不费功夫,就在CUDA SDK的Mandelbrot例子里找到了2个float模拟double乘法的函数。甚至,GTX280上的double也是类似的方法模拟出来的,所 以慢的惊人,只有float八分之一的速度。先show一下模拟乘法的函数dsmul:[代码]在NV的论坛上还找到了高人写的一系列运算函数。虽然是CUDA的,但要改成别的语言和环境也是轻而易举的事情:dsmath.h 阅读全文
posted @ 2011-01-19 13:47 龚敏敏 阅读(2439) 评论(0) 推荐(0) 编辑
KlayGE中的延迟渲染(二)
摘要:转载请注明出处为KlayGE游戏引擎,本文地址为http://www.klayge.org/?p=755 在KlayGE中的延迟渲染(一)里,我们推出了lighting pass里的计算,本篇将讲解G-Buffer阶段和Shading pass阶段。 G-Buffer分配 在Deferred Rendering的框架中,不管是Deferred Shading还是Deferred Lighting,G-Buffer的分配都是非常关键的。上一篇得出的lighting pass公式如下: 从公式可以看出,在light pass里需要的量有n,h,alpha,cspec,lc。因为h = (n + 阅读全文
posted @ 2011-01-16 21:24 龚敏敏 阅读(1209) 评论(0) 推荐(0) 编辑
编译期字符串Hash
摘要:转载请注明出处为KlayGE游戏引擎,本文地址为http://www.klayge.org/?p=647老早就想写这篇了,但一直没空,现在抽个空写写吧。 Motivation 编译期字符串Hash的想法源于一个常见做法,字符串比较。比如在KlayGE的effect系统中,有很多if ("cull_mode" == state_name)这样的比较。加速这个操作的方法之一就是hash。但是如果改成if (0x8F1E5E5F == state_name_hash)又非常不直观。如果能有一个编译期的hash方法,先称之为CT_HASH,就可以 if(CT_HASH("cull_mode") = 阅读全文
posted @ 2011-01-14 13:20 龚敏敏 阅读(1811) 评论(2) 推荐(0) 编辑
KlayGE中的延迟渲染(一)
摘要:KlayGE中的延迟渲染系列文章将讲述在KlayGE 3.11的Deferred Rendering例子中使用的延迟渲染方法,由5篇文章组成。 Deferred Lighting的框架 KlayGE 3.11的例子已经从Deferred Shading改成了更节省带宽的Deferred Lighting。这里先对Deferred Lighting作一个简要的介绍,并假设读者已经了解了Deferred Shading。 Deferred Lighting的渲染架构可以分为三个阶段: G-Buffer的生成for each light { Lighting pass }Shading pass 与 阅读全文
posted @ 2011-01-11 11:57 龚敏敏 阅读(1650) 评论(0) 推荐(0) 编辑
开放的3D扫描人头数据!
摘要:转载请注明出处为KlayGE游戏引擎,本文地址为http://www.klayge.org/?p=668 刚找到一个好东西:http://www.ir-ltd.net/infinite-3d-head-scan-released/。可以下载一个3D扫描生成的人头数据,而且是Creative Commons Attribution 3.0 Unported License协议的,只要提到原出处就可以任意使用! http://www.ir-ltd.net/uploads/Infinite_Scan_Ver0.1.rar (80 MB’s) Object file and textures. ht 阅读全文
posted @ 2011-01-07 12:03 龚敏敏 阅读(2807) 评论(0) 推荐(0) 编辑
KlayGE 3.12计划中的新功能和招聘计划
摘要:转载请注明出处为KlayGE游戏引擎,本文地址为http://www.klayge.org/?p=650 KlayGE的下一个版本3.12正在计划中,大约在2011年6月份发布。目前打算做一些特性,如果朋友们有其他的建议或要求,可以回帖提出来。 必然出现 这些新特性一定会出现在KlayGE 3.12中,都有明确的实现方法,不确定性较小。 Dual Paraboloid Shadow Maps。加速点光源的shadow map,参考文献:http://sites.google.com/site/osmanbrian2/dpsm.pdf。Gamma correction。输入texture和输出 阅读全文
posted @ 2011-01-05 23:07 龚敏敏 阅读(1729) 评论(5) 推荐(0) 编辑
Direct3D9的扩展纹理格式
摘要:转载请注明出处为KlayGE游戏引擎,本文地址为http://www.klayge.org/?p=626 在WinXP下,即使GPU支持D3D10+,也只能用D3D9的API。但实际上各个厂商都对D3D9做了一些扩展,把部分D3D10+的特性暴 露给了D3D9 API。以下是一些特殊的纹理格式,通过FOURCC的方式来使用。通过CheckDeviceFormat可以检测是否支持该格式,在 CreateTexture的时候传入即可。下表的源头是各厂商的GPU文档,经过Unity的Aras整理而来: Usage列:DS=DepthStencil,RT=RenderTarget;Resource列 阅读全文
posted @ 2011-01-04 13:06 龚敏敏 阅读(1997) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示