• 博客园Logo
  • 首页
  • 新闻
  • 博问
  • 专区
  • 闪存
  • 班级
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 简洁模式 ... 退出登录
    注册 登录
 






Graphenix

 
 

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

2006年10月29日

分区域投影
摘要: 分区域投影是一种非常简单的技术,但是能一定程度上有效解决超大场景的精度问题,特别是一些需要同时显示camera近距离和非常远距离的情况,例如farcry。下图中飞船在40000的距离,而草就在眼前,如果只使用一次投影,单独的zbuffer,将近平面设为1远平面设为42000,虽然草和飞船都看见了,但飞船有非常明显的zfighting。将其拆为两次投影,两次zbuffer,一次投影距离从1到2000... 阅读全文
posted @ 2006-10-29 18:41 linyizsh 阅读(495) 评论(3) 推荐(0) 编辑
 
图,一起放算了
摘要: flare贴图是cproom给的素材fx系列还是不太适合做太多texsample,fps惨不忍睹啊,呵呵 阅读全文
posted @ 2006-10-29 18:39 linyizsh 阅读(296) 评论(1) 推荐(0) 编辑
 
关于screenmap
摘要: screenmap shadow主要是为了对shadow进行后处理使其边缘软化。 主要步骤是:1,一个pass,从光源方向渲染所有产生shadow的物体深度到一张shadowmap上。2,一个pass,用第一步生成的shadowmap为贴图,从camera方向渲染接收shadow的物体,将shadowmap proj到这些物体上,阴影的地方着色为黑色,非阴影的地方着色为白色(或者其它... 阅读全文
posted @ 2006-10-29 18:33 linyizsh 阅读(430) 评论(0) 推荐(0) 编辑
 
从3dsmax导出normalmap的时候tangent向量的“正确”算法
摘要: 目前有很多工具可以直接生成normalmap,不同的工具生成的算法也有点不同,而不同的算法导致tangent和binormal的计算也有点差别。现在大多数的美工最常用的基本上还是3dsmax,用max生成normalmap也是比较常用和方便的方法。不过目前似乎很少有资料提到从max里导出normalmap的时候如何计算tangent向量,max的文档和例子说这个东西的时候也是遮遮掩掩的,相... 阅读全文
posted @ 2006-10-29 18:32 linyizsh 阅读(1713) 评论(1) 推荐(0) 编辑
 
一点小改进
摘要: 标准的tsm计算方法是将frustum投影到light空间里,在light空间里由投影后的frustum图形计算出梯形的各个极大极小点,然后选取focus和1D投影比例计算q点坐标,由交线得到梯形。然后变换到trapezoid空间。但这样会造成如果眼睛在light的frustum内的时候trapezoid难以计算,影子严重变形,有些算法会对这个进行一些改进,不过实际使用起来并不是太理想。这... 阅读全文
posted @ 2006-10-29 18:31 linyizsh 阅读(268) 评论(0) 推荐(0) 编辑
 
图
摘要: 阅读全文
posted @ 2006-10-29 18:30 linyizsh 阅读(192) 评论(0) 推荐(0) 编辑
 
一种超级简单的勾边方法
摘要: 说它简单,是因为两句ps代码而已,是上次尝试其它specular方法的时候失败而弄出来的,汗。。。所以如有雷同,也是没办法。 方法也就是类似specular的方法:对tangent space中的camera vector和N的结果做收缩的时候如果次数多了,颜色过渡就几乎没有,而且会收缩到normal跟camera vector接近垂直的地方。中间适当插入一些X2计算,主要是为了过滤... 阅读全文
posted @ 2006-10-29 18:26 linyizsh 阅读(546) 评论(0) 推荐(0) 编辑
 
图形库跟游戏引擎的小问题。
摘要: 属于牢骚,呵呵render pass要不要让上层管理,也就是渲染是不是要全自动化的问题。 一般比较完整的引擎喜欢将每个pass隐藏起来,游戏只要丢给一些camera,light之类的必要信息,图形方面就什么也不管了,对游戏来说这样确实方便了许多,从模型制作到材质编辑场景编辑器之类,一直到渲染到游戏里,游戏都不需要去管图形方面的东西。这样在图形引擎里就需要根据事先给定的材质之类的信息决定渲染的每个... 阅读全文
posted @ 2006-10-29 18:20 linyizsh 阅读(445) 评论(0) 推荐(0) 编辑
 
点点
摘要: vs2.0之前的color输出范围只能0到1,vs3.0之后由于可以自己定制,所以输出值可以小于0,所以在一些输出比如计算normalmap的时候如果所用vs版本低,想利用的color输出就必须先压缩到0到1的范围内,vs3之后则不需要。不小心的话就会被阴了,呵呵。 阅读全文
posted @ 2006-10-29 18:17 linyizsh 阅读(235) 评论(0) 推荐(0) 编辑
 
关于shadowmap
摘要: 确实有些技术在光看demo的时候总是让人感觉很完美,可一旦实际运用到游戏中,就会有一些这样那样的别扭让人感觉不舒服,重要做这样那样的改进。shadowmap算是一个很明显的例子。上个引擎使用trapezoidal shadowmap计算全场景阴影,从demo看来它表现非常出色,但是一用到游戏中,发现在距离一定范围之后总是会在一些面上出现一些难看的条纹,一开始以为是精度问题,但后来不论怎么调... 阅读全文
posted @ 2006-10-29 18:15 linyizsh 阅读(930) 评论(1) 推荐(0) 编辑
 
受不了blogcn的速度和广告,决定搬到此。。。
摘要: 。。。。。。 阅读全文
posted @ 2006-10-29 18:12 linyizsh 阅读(238) 评论(0) 推荐(0) 编辑