nicky

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  14 随笔 :: 1 文章 :: 19 评论 :: 0 引用

2007年2月28日 #

摘要: 这几天写了个优化post-TnL vertex cache的程序。发现Lin的算法还是相当有效的,比起Hoppe的来。只不过最终还是比参照数据差一点-___----经过一些优化,结果终于超过了Lin的,速度也与Lin的相当了。 Algorithm Bogomjakov02 Hoppe99(D3DX) Lin06 mine Cache size 8 16 8 16 8 16 8 16 Mesh fa...阅读全文
posted @ 2007-02-28 02:24 nicky 阅读(201) 评论(0) 编辑

2006年12月22日 #

这个学期总算忙到头了。总体来说还算ok,不过应该要好好总结下。最近做了个简单的2d fluid flow,用opengl,FBO把我弄的个半死。。放几张图:

 
 
posted @ 2006-12-22 19:02 nicky 阅读(296) 评论(0) 编辑

2006年9月28日 #

Just had a meeting over the phone with some big guys. It's really exciting, despite the fact that I'm a little bit sleepy... Anyway, now I should really consider getting rid of something that would otherwise make me too busy the days to come. Plus the gre is freaking me out a little bit actually..
posted @ 2006-09-28 01:05 nicky 阅读(110) 评论(0) 编辑

2006年8月7日 #

http://www.planetquake4.net/download.php?op=fileid&lid=2336

Carmack Keynote Highlights

http://www.planetquake4.net/article.php?sid=2180
posted @ 2006-08-07 14:20 nicky 阅读(104) 评论(0) 编辑

2006年6月27日 #

很久没更新了。。。
最近做的一个demo,其实就是毕设了。算起来写这个之前大概已经有一年没写代码了,呵呵。

系统要求:
R300+, NV40+显卡
需要d3dx9_29.dll
ppprt.part1.rar
ppprt.part2.rar

原理比较简单,将SH光照对HL2的3个轴的结果利用MRT渲染3张lightmap到SH纹理空间(也可以叫lightmap空间),之后利用HL2的Radiosity Normal Mapping方法渲染最终结果,HDR作后期处理。
具体:
预计算建立5阶SH纹理,PRT光照在像素级别计算,这样可以适应低模场景。只不过跟一般的像素PRT不同,考虑Phong光照下的BUMP MAPPING渲染,这样就需要实时采样法向量。P.P.Sloan利用各种基函数来实现BUMP,不过这些都是对渲染公式分出3项进行SH编码,然后计算对法向的卷积,导致SH矩阵的需求。为避免SH矩阵,可以将实时的法向分离到3个已知的HL2正交基进行预计算。考虑到公式的求值复杂性specular用一阶函数(r.s)。渲染时首先对3个基向量渲染得到当前所见的区域的lightmap,具体参考ATi Ruby demo。渲染结果用RGBS编码减少存储和带宽。之后利用法向和眼反射向量对3个基向量的COS权值完成最终的光照公式求值。
HDR在ATi显卡上考虑到fp filter不支持可以用int16渲染中间结果。天空纹理用RGBS编码,filter效果很不错。


2006-7-2:
更新了一下,加入了一些选项:
/Files/nicky/ppprt_update.rar
解压后覆盖原bin文件夹

本想作一下FSAA,发现找不到一个很好的方法。FP16+MSAA的硬件尚未普及,我们只好用其他方法。利用shader作SSAA耗费太大了,FPS剧减而且采样率还不能太高。利用RGBE/RGBS/RGBdiv等编码通过framebuffer来作MSAA倒是可行,不过都属于hack,而且感觉RGBS/RGBdiv实在是不能适应很广的动态范围,会出现banding。Edge-detection FSAA,只能说是一种柔化边界的方法,因为根本上来说采样率并没有提高。

截图:


posted @ 2006-06-27 02:18 nicky 阅读(1018) 评论(7) 编辑

2005年10月17日 #

摘要: 今天看了《game programming gems4》的5.2节,文中提到了一种解决方案:1。预处理过程:对每个三角面生成三个独立顶点,拥有此面的法向。对每个面产生三个边,然后对边作两两匹配(拥有相同端点的便匹配)。若有配对则生成degenerate-quad,否则说明此边为open-edge,需要push_back两个顶点,然后生成degenerate-quad。注意这些退化四边形由index...阅读全文
posted @ 2005-10-17 16:30 nicky 阅读(527) 评论(1) 编辑

2005年8月18日 #

摘要: http://www.beyond3d.com/forum/showthread.php?t=22648Quake3 source is coming soon under the GPL:)阅读全文
posted @ 2005-08-18 14:27 nicky 阅读(292) 评论(0) 编辑

2005年6月8日 #

摘要: 呵呵,终于放出demo了。。。http://member.bingyan.net/ElNino/Adventure.rar大约33MB链接在近期有效,要下的快下。enjoy:)阅读全文
posted @ 2005-06-08 23:33 nicky 阅读(749) 评论(0) 编辑

2005年3月31日 #

摘要: 近期和一个同学一起做得DEMO。一些截图: http://www.cnblogs.com/images/cnblogs_com/nicky/22268/o_shot0023.jpg http://www.cnblogs.com/images/cnblogs_com/nicky/22268/o_end.jpg 更多的看这里 : http://www.cnblogs.com/nicky/gallery...阅读全文
posted @ 2005-03-31 13:41 nicky 阅读(1688) 评论(8) 编辑

2005年2月18日 #

摘要: 一个简单的资源管理器: 这样写主要是比较方便,可以省一些代码。 功能还比较少。 代码,附带一个test: http://www.cnblogs.com/Files/nicky/simple_res_mgr.rar #ifndef _RESOURCEMGR_H__ #define _RESOURCEMGR_H__ #include <map> #include <boost/sha...阅读全文
posted @ 2005-02-18 20:21 nicky 阅读(803) 评论(0) 编辑