• 博客园logo
  • 会员
  • 周边
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
 






Graphenix

 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | 联系 | 订阅 订阅 | 管理

2011年3月22日

t&h
摘要: 老久没更新,发点吧,让前面一篇降下去。* 在D9下,SetStreamSource/DrawIndexedPrimitive,这几个参数的意思,久了经常忘记。OffsetInBytes: 设置VB的数据从哪一个位置开始,即IB里的第0个顶点,从这个地址开始算起。BaseVertexIndex: IB里的每个索引,加上这个数值,比如设置了2,则IB里的5会变成7。。。不太常用,但有时候会有意想不到的作用。 MinVertexIndex: 告诉D3D,使用到的顶点从VB里的第几个开始,设置之后,对渲染无影响,只是帮助D3D在某些时候改进性能。。。 NumVertices: 告诉D3D,本次DP,. 阅读全文
posted @ 2011-03-22 13:43 linyizsh 阅读(1497) 评论(0) 推荐(0)
 

2010年12月5日

MTE
摘要: 阅读全文
posted @ 2010-12-05 14:26 linyizsh 阅读(731) 评论(7) 推荐(0)
 

2010年10月23日

Best fit gbuffer normal
摘要: http://advances.realtimerendering.com/。crytek总是能发现一些别人没发现的东西。之前我也发过http://www.cnblogs.com/linyizsh/archive/2009/05/30/1492314.html说过些packnormal的东西。但是从直觉上,无论哪种方法,总是觉得不怎么完美,一个是计算量太大,一个是存储bit数太多,如果使用类似de... 阅读全文
posted @ 2010-10-23 22:03 linyizsh 阅读(1517) 评论(0) 推荐(0)
 

2010年10月17日

Mipmap不连续问题。
摘要: 一个容易疏忽的问题。图: 模型的边缘有个碍眼的白边,这个是由于计算水下的caustic的时候用了深度来计算某个tex的uv,结果产生这个白边。(图压缩后变难看了。。。)这个不是算法错,也不是什么数据问题。而是由于使用的tex带有mipmap,但由于uv从深度算来,因此在ps里,边缘相邻两个像素的uv有个跳变,使gpu在这个地方出现lod计算错误,因此取了一个错误的值。 解决的办法有两个,一个是自己... 阅读全文
posted @ 2010-10-17 15:41 linyizsh 阅读(721) 评论(0) 推荐(0)
 

2010年8月30日

MLAA(Morphological Antialiasing)
摘要: 试了mlaa,后处理的aa。 最初的文档是intel发布http://visual-computing.intel-research.net/publications/papers/2009/mlaa/mlaa.pdf,只有cpu实现。 后来有人做了gpu版本http://igm.univ-mlv.fr/~biri/mlaa-gpu/,有篇paper,不过跟没有差不多,似乎还有个siggraph的... 阅读全文
posted @ 2010-08-30 23:36 linyizsh 阅读(1369) 评论(1) 推荐(0)
 

2010年5月8日

Volumetric Obscurance
摘要: 原文为了看起来像一个论文,所以写的洋洋洒洒,引经据典,其实在我看来SSAO本身就只是一种tip,没必要那么啰嗦,关键的东西说来就两句话,在每个像素为中心的球体内,发射与屏幕垂直的n条线,计算每条线在这个球体范围内有多少被zbuffer遮挡,再按比例加起来作为AO。放点图,10次sample,但只做了一次2x2的blur,所以质量不太好,但速度确实比以前的方法快,提高blur的kernel可以提高质... 阅读全文
posted @ 2010-05-08 02:58 linyizsh 阅读(1393) 评论(0) 推荐(0)
 

2010年2月3日

ao propagation volume...
摘要: 这个是名字是我乱起的:)。。。发了上一篇之后突然想到,既然radiance volume可以做能量传递,那或许也可以做为ao的传递,因为ao信息也是低频的,于是有这个名字。。。 改一下lpv的过程,不要生成rsm,而是直接将mesh写入volume,生成的时候关掉ztest和zwrite,直接写入到对应的位置。只需用位置和normal即可,同样把信息投影到sh。propagation 过程一样,只... 阅读全文
posted @ 2010-02-03 22:01 linyizsh 阅读(753) 评论(0) 推荐(0)
 
lpv
摘要: 测试了Light Propagation Volumes,全实时没有任何预处理的GI,而且可以适用任意场景。文档很长,不过基本原理还是比较直白的: 生成reflect shadow map(rsm)。 将rsm信息用SH系数方式注入一个volumetexture中。 在volumetexture中进行propagation(大概叫传递或者传播的意思)。 最后将propagation完的volume... 阅读全文
posted @ 2010-02-03 00:12 linyizsh 阅读(2831) 评论(5) 推荐(1)
 

2009年5月30日

说下pack/unpack normal的问题
摘要: 现在很多延迟光照算法,都有保存normal的pass,为了节约资源,很多有把normal三个分量pack为两个分量的算法,以d3d的左手坐标为例,normal在camera空间。 最开始有:pack:xy = norm.xy; unpack:norm.xy = xy; norm.z = -sqrt(1 - x^2 - y^2); 这个方法开始用的很广泛,但它是错的,因为由于透视投影的关系,有些面... 阅读全文
posted @ 2009-05-30 17:03 linyizsh 阅读(1830) 评论(1) 推荐(0)
 

2008年10月11日

CheckPoint
摘要: 到今天为止,我已经实现了一个比较完整的延迟着色(ds)渲染器,包括各种各样的类型的处理和融合opaque,translucent,mirror reflect,cube reflect, terrain,sky,particle,primitive,ui,postprocess(hdr,dof,lightshaft, ssao)等。国内很少有人做基于ds的渲染,导致我找不到人讨论,一直都只好到国外... 阅读全文
posted @ 2008-10-11 02:16 linyizsh 阅读(1332) 评论(2) 推荐(0)
 
下一页