effulgent

与梦齐飞翔
posts - 24, comments - 27, trackbacks - 0, articles - 12
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

2008年2月18日

     摘要: 玉帝的神旨,解析Command模式.  阅读全文

posted @ 2008-07-25 11:12 易颖 阅读(76) | 评论 (0)编辑

     摘要: 可编程图形硬件的迅猛发展,让高质量实时体渲染图形成为可能,火焰,烟雾,大气效果,云的渲染变得越来越快,这篇文章既包含科学领域应用,如医疗成像,也包含一些游戏中的特效应用。  阅读全文

posted @ 2008-06-18 11:23 易颖 阅读(66) | 评论 (1)编辑

     摘要: Crysis道路系统  阅读全文

posted @ 2008-06-05 18:40 易颖 阅读(95) | 评论 (1)编辑

     这几天碰到好几件烦闷的事,比如搬家,比如工作遇到的问题,加上上海天气潮热,更让我浮躁万分。投影器的编码,折腾了我两天,怎么弄都得不到正确的结果,最后一个不小心发现在SHADER中把一个float4写成了float3,好生让我郁闷,一个变量类型让我浪费了差不多一天时间。本来在网上允诺别人说这周完成魔兽争霸的角色动画,看来不得不延期了,因为本职工作有点忙,道路生成还是不能走捷径,必须老老实实实现贴花功能,投影器几何裁剪已经让我痛苦一次了,这次的几何体的裁剪会让我更痛苦,因为要考虑非矩形内的几何裁剪,细节很多,很烦细节,但细节决定一切,郁闷。唯一让我开心的事就是俺家咪宝的工作终于敲定了,而且都是西门子,伟创力等大公司找她,让她应付不暇,不知道答应哪个公司好,咪宝英语和专业知识都有了长足的进步,特此贺过。

posted @ 2008-05-29 16:46 易颖 阅读(37) | 评论 (0)编辑

     摘要: 利用球谐光照技术,能让我们实时重现面积光源下3D模型的全局光照效果,在SIG02的一篇论文中曾有介绍(Sloan,Kautz,Snyder)利用这种技术实现模型的超真实光照效果。从这个技术的发展来看,他其实是N多相关技术的合集,游戏开发者可以利用他们来获得VERY GOOD的画面效果。技术本身的代码和结果都是很简单明了的,但这篇文章的目的在于阐述其背后的原理,以飨广大初学者。告诉你WHY,给予你使用SH LIGHTING的所有力量。  阅读全文

posted @ 2008-04-15 09:32 易颖 阅读(234) | 评论 (0)编辑

     两个星期前在AMAZON定的书今天邮到,包装保护很好,没有任何破损,时间也并没有象网上说的要3个星期到1个月,可能是上海邮政比较负责吧,总之想买书的兄弟可以放心购买了.一本GPU GEMS 3 一本 SHADERX4, SHADERX4主要是项目中要用, 而GPU GEMS 3前瞻性的看看技术. 相信明年就会翻译过来,想买的人可以等等.

posted @ 2008-03-20 14:41 易颖 阅读(255) | 评论 (4)编辑

     摘要: 在做大面积场景中,大多数人都对庞大数量小物件的渲染感到头疼不已,比如大量的小草、石头、落叶等。以草的渲染作为说明实例,如果草以大量分开的PRIMITIVE来渲染,在图形API调用的消耗将是巨大的,所以大部分同行的做法是当一个PRIMITIVE提交任务,但这样又带来两个问题,第一,无法对草木进行剔除;第二,无法进行ALPHA排序。对于这两个问题,通常有如下的解决方案,对于剔除问题,一般是将众多的草分成若干簇,能够以簇为单位进行剔除,这样就可以在API调用消耗与渲染负荷得到一个折中;对于ALPHA排序问题,最常用的解决方案就是用ALPHA TEST替代ALPHA BLEND。  阅读全文

posted @ 2008-03-11 16:04 易颖 阅读(206) | 评论 (1)编辑

     摘要: 游戏编程,我们该读哪些书?  阅读全文

posted @ 2008-03-09 13:53 易颖 阅读(1042) | 评论 (16)编辑

     摘要: 本篇为3D基础的第3部分,主要讲述顶点切向量的计算原理,相信很多人都对Shader里的Tangent分量没有深入了解,希望我的这篇文章能对各位理解切空间有所帮助。我们以凹凸映射为例子来解释今天的原理。
  阅读全文

posted @ 2008-03-08 14:01 易颖 阅读(145) | 评论 (0)编辑

     虚幻2的核心代码基本都通看过了,除了它的场景管理我没有写成笔记外,其他的基本都总结出来了,熟悉虚幻源码的人少之又少,我也是在阅读中探索,不断的实现虚幻的各种功能,虚幻3比虚幻2最主要是多了特效材质模块,那也是个非常有吸引力的技术,手中有代码,而且对虚幻分析有兴趣的朋友可以与我交流。
      今天主要是讲下虚幻功能强大的投影器原理,而且我只讲最重要的静态模型上的projector,前因后果不作铺垫,本文章主要作为自身备忘,下面直接讲述数学原理。

1.虚幻2 静态模型上的Projector会切割静态模型并生成Primitive decals,最后的Primitive Decals以三角形List形式渲染,为什么不使用Strip?因为他切割的原理。
2.静态模型切割原理。详见ClipTriangle函数,基本算法是,生成一个切割顶点顺序序列,切割过程中,如果前序顶点与测试顶点都位于投影空间外,则丢弃本测试顶点。如果分别置于内外,则切割生成新顶点,按顺序保存下顶点,等所有顶点都生成完毕后,以其中一个顶点为原点,分割生成Triangle List。
3.其Projector投影矩阵的推导。
| Sx     0       0     0 |
| 0       Sy     0     0 |
| 0.5    0.5    1     0 |
| 0       0       0     1 |

Sx = Sy = 0.5 / tan(Θ)

Θ = Half Horizonal FOV Radius

X'/tan(Θ) = X''/0.5 ( Distance of Near Plane is 1, So Half Length of FOV is tan(Θ) )
上式主要是进行投影坐标钳制(-0.5 - +0.5),而| 0.5 0.5 1 0 |主要是将钳制范围平移为| 0 - 1.0 | 的纹理坐标范围。

posted @ 2008-03-05 10:04 易颖 阅读(69) | 评论 (0)编辑

     摘要: 终于开始着手写[3D基础]系列的第二篇文章了,这篇文章所将的内容相信对于很多人而言都是相当重要的,因为涉及到相机坐标系变换,BILLBOARD实现原理,凹凸映射切空间变换等课题。  阅读全文

posted @ 2008-02-18 16:39 易颖 阅读(311) | 评论 (0)编辑