最新评论
你的这个方法需要两个16bit通道来存储而且两个通道的符号位都被占用了,显然有些浪费,我觉得在做MRT的时候既然目前不可改变的情况是通道数限制为4个那么升级BIT数来减少通道占用才是能完成更优秀算法和清晰逻辑的发展方向!
Re:lpv ruf 2011-04-06 21:49
分别乘上去就是0.5*(cos(a)-1),0.75*sin(a)^sin(a),
-0.75*sin(a)^sin(a),0.75*sin(a)^sin(a),也就是文档中的那个ZH系数。
这个是怎么个过程,我没明白,看了资料,还是没明白,指点下,感激不尽~
PS:第一张图地板明显漏光了,呵呵。二次光源无阴影就是这点问题。。
Re:MTE ixnehc 2010-12-30 18:27
明白了,谢谢
Re:MTE linyizsh 2010-12-30 13:15
[quote]ixnehc:
呵呵,因为最近在考虑这方面的东西,所以看得比较仔细一点.
我看到你的材质里的Shader Input Param有4个参数,这4个参数是怎么从材质template里暴露出来的?图片里好像找不到这方面的信息.[/quote]
这些是由node决定的,Texture除了Procedural类型以外的,全部作为参数,而ConstParam有一个属性选择是否作为外部参数,如果是则放在这里,不是则直接生成shadercode里的常数。
Re:MTE ixnehc 2010-12-30 10:34
呵呵,因为最近在考虑这方面的东西,所以看得比较仔细一点.
我看到你的材质里的Shader Input Param有4个参数,这4个参数是怎么从材质template里暴露出来的?图片里好像找不到这方面的信息.
Re:MTE linyizsh 2010-12-29 23:25
[quote]ixnehc:请问一下博主,既然是template,那应该有使用这个template的实例喽,这些实例的参数是怎么设的呢?比如说贴出来的这个template里的贴图,该怎么在各个实例中重载呢?[/quote]
你看的真仔细啊,这都被你发现了,呵呵。
我加一个图,你一看就明白了。
Re:MTE ixnehc 2010-12-29 10:58
请问一下博主,既然是template,那应该有使用这个template的实例喽,这些实例的参数是怎么设的呢?比如说贴出来的这个template里的贴图,该怎么在各个实例中重载呢?
Re:MTE linyizsh 2010-12-10 20:04
@六水
呵呵,弄着玩而已,还简陋的很。
Re:MTE 六水 2010-12-06 16:09
赞一个,大牛也开发这种重量级方案啊。。。
Re:lpv yzzz 2010-10-12 14:52
cascaded后,精细部分的lpv会显得比较暗,不知道博主有没有什么好的解决方法?
Re:lpv _insky 2010-09-30 23:03
效果很酷,请问00后前辈用的是什么卡?
Re:lpv woshizhaoyu 2010-09-07 09:32
求demo
Re:lpv 六水 2010-06-02 15:36
good.
ps,纹理过滤看上去有点不舒服。
[quote]yty:
“我改进了一下,让物体不需要挡住光源也可以出现效果。”
hi,请问你是怎么改进的?增亮mask图的底色吗?如果用这种用最后合成到场景/就会爆掉了。。
另外你的sky是用plane方式还是cube方式?你的明暗图是预先绘制的还是通过rendertagetView实时生成的?
[/quote]
原来写的mask只有太阳部分,现在把它延伸到更大一些就可以了。这个图是实时生成的,可以比target小,颜色不要太亮就不会爆,否则只能加曝光度控制。
sky是圆顶,用前面Atmospheric Scattering的方法做的。
[quote]mifail:你好,请问这个demo的源代码可以发一份给我吗?7097366@qq.com,先谢谢了![/quote]
sorry,这个现在跟我其它一套代码一起,无法拆给你。
“我改进了一下,让物体不需要挡住光源也可以出现效果。”
hi,请问你是怎么改进的?增亮mask图的底色吗?如果用这种用最后合成到场景/就会爆掉了。。
另外你的sky是用plane方式还是cube方式?你的明暗图是预先绘制的还是通过rendertagetView实时生成的?
你好,请问这个demo的源代码可以发一份给我吗?7097366@qq.com,先谢谢了!
Re:CheckPoint xoyojank 2009-08-16 19:39
light pre-pass 出了一个说明文档, 我正翻译中-_-
re: 分区域投影 linyizsh 2009-05-30 17:12
--引用--------------------------------------------------
spaceshow: 请问您能提供有关分区域投影更详细的资料么?谢谢!
--------------------------------------------------------
哦,这其实相当简单,只是把你的场景拆成两个pass而已。
--引用--------------------------------------------------
白石: 效果真不错 请问下博主 你的体积光中径向模糊做了几次才得到这么柔和的影子?
--------------------------------------------------------
并不需要模糊,直接sample从本身像素到光源的位置就可以了,我作了48次sample,不过计算量很少。
re: Atmospheric Scattering linyizsh 2009-05-30 17:07
--引用--------------------------------------------------
ghostwasd: 你好!版主!
我最近在看gpu gem2里面大气散射的这篇文章,书中的代码给出的只是一个从太空观察大气散射的例子,能请你把在大气里观察散射的例子发给我看看,好吗?谢谢了!我的邮箱是376048875@qq.com
--------------------------------------------------------
哦,那个书的代码貌似有你要的东西,你没看仔细吧。其实只要你理解,做这个也不难,就是找出相机和大气交叉的部分,切分这个部分,再对每个切分点收集它们的散射强度。这对视点再哪里都是一样的。
re: Atmospheric Scattering ghostwasd 2009-05-30 11:09
你好!版主!
我最近在看gpu gem2里面大气散射的这篇文章,书中的代码给出的只是一个从太空观察大气散射的例子,能请你把在大气里观察散射的例子发给我看看,好吗?谢谢了!我的邮箱是376048875@qq.com
效果真不错 请问下博主 你的体积光中径向模糊做了几次才得到这么柔和的影子?
re: 分区域投影 spaceshow 2009-04-29 23:14
请问您能提供有关分区域投影更详细的资料么?谢谢!
re: CheckPoint SIXWATER 2009-03-21 15:05
发现了一篇好文章。
re: 修改crysis支持nvperfhud 老狼[cgwolver] 2009-03-08 19:03
"本来用hook也可以,不过crysis是通过CryRenderD3D9.dll显式加载d3d9.dll,IAT表中没有相关地址,hook比较麻烦。所以我还是修改反汇编来做。 "
如果hook CryRenderD3D9.dll 中的GetProcess也许行,他一定有GetProcess这个IAT条目的。并过滤Direct3DCreate的地址。当然要先用GetProcess来获取这个地址,然后比较相同就给他返回一个假的,然后用假的去调用真的。。。
re: 终于正常 紫菜 2009-01-10 17:30
可能只有在顶点数非常多的对象上才值得用occ query,渲染一个包围盒和一千个顶点的网格也许是一样的,occquery还多了一个查询的时间.
不过这也确实是一个提高性能简单有效的方法.
re: 分区域投影 紫菜 2009-01-10 17:20
这样再渲染其他对象可能会出现遮挡问题吗?
把近平面放远些,远处使用景深,雾可能更简单些.
crysis确实值得研究,ssao,parallax occ maping首次被它使用.物理效果也相当好
潜行者晴空的god ray效果很好,不知道是不是gpugems3的方法.
我最近在研究是否可能根据场景depth来计算更精确的god ray
的确,使用depth代替camera空间position可以省不少纹理带宽.depth到position的转换也只要2个指令.
ssao确实要模糊才好看些,模糊时要考虑到边界情况
对于渲染目标,我使用32bit的纹理格式,depth(R32F),normal(rgb10a2),diffuse和其他(argb8). 可惜normal精度不够高.可是使用64位渲染目标对显存和带宽都有影响,混合使用2种格式老显卡不支持.
defershading把光照计算(包括阴影)限制在screenSpace,避免overDraw,带来性能的提升.
另外,我把阴影的计算放在一个1/2尺寸的纹理上,并直接模糊(模糊半径需要根据深度调整,同时也要考虑边界),可以产生性能很高的软阴影.
由于可以得到场景depth, 可以用后处理的方式计算很多效果(ssao,雾,运动模糊等等).
re: 关于shadowmap 紫菜 2009-01-10 16:32
出现难看的条纹是由于自己同时是阴影投射也是接受者时会出现,由于距离几乎一样,比较距离大小会有误差,解决办法是确定一个距离d,只有阴影接受者到光源的距离大于d+投射者的距离(阴影图采样值),这个像素点才被遮挡.
@castleva
啊啊,这个放的比较久,我现在已经不是这样做了,合并为一个pass了,position也只用depth来代替。
ssao算法大体都差不多,星际2的那个跟crysis等的差别不大,主要是那个灰度曲线有些小区别。
模型可以从 cgmodel.cn 下。
没太看懂 position 和 高光的 那两张图是怎么渲出来的~呵呵,好像马克思身上只用了一个材质,但是那个另外的那个人物用了多重材质么,另外星级2里面的SSAO好像实现不太一样,可以参靠一下~
另外想问下这个模型是从哪下的?该不是从unreal 编辑器里面导出来的吧?~
re: 修改crysis支持nvperfhud sixwater 2008-10-11 00:31
好文。。好文。。。
我最近也在做这个,遇到点问题,希望能得到你代码做参考,谢谢:)
re: ZT 师太 2008-06-05 23:10
看完后,不懂了。
re: 小更新下,加了DOF Lendy 2008-02-27 13:37
赞~
看了您的blog,明白了很多东西。
感谢~
你好,最近也被这个郁闷,有些问题请教:
1、tangent的物理意义是不是指顶点坐标在纹理U方向的导数?binormal则是顶点坐标在纹理V方向的导数?
2、如何判断具有相同顶点坐标的两个点的tangent值是近似相同的?能否通过简单判断两个点的tangent和binormal的点乘都大于一个系数(如0.8)来判断?
3、如何得知一个顶点是被镜像过?这样才好处理镜像过的NormalMap。
4、针对动画,是不是因为顶点坐标的变化而导致tangent发生变化? 或者纹理坐标的变化而导致tangent发生变化?如果是的话,tangent是否可以进行插值运算?如何插值?
5、骨骼动画的tangent如何处理的?如果tangent随着顶点坐标而改变,则tangent是不是要跟皮肤信息存一起?如果是的话,tangent该如何通过仅有的骨骼的矩阵和权重进行计算?如果在骨骼动画上加上纹理动画呢?
re: 图,一起放算了 刘斌~ 2007-10-16 18:12
太牛了,您的这些效果是怎么实现的啊?~~
re: ZT[未登录] kai 2007-03-15 22:41
一般人就像小公司,看中能直接给公司拿钱的人.
只有大公司才会看中未来市场的开发.