步履蹒跚

知其然,知其所以然 - real-time rendering.
posts - 85, comments - 172, trackbacks - 0, articles - 0

我的评论

共3页: 1 2 3 下一页 
re: TJ3@ChinaJoy07 Pointer 2007-07-28 14:39  
过奖了过奖了,和CRYSIS差了十万八千里呢,不过我已经尽力了. :D
这次去上海非常匆忙,前一个多月基本都是在加班,临走前两天48小时都没合过眼...最后还错过了火车...
所以就没有联系你了,你也去CJ了吗?我是第一次,感觉除了PPMM和巨吵之外就没别的了...
明年如果还有机会去的话一定找你玩.
thanks! it is really helpful.
re: Material Editor Pointer 2007-02-14 00:11  
我们现在基本就是hardcode,表鄙视我,哈哈哈哈。

不过看上面UE的MaterialEditor,似乎也就是让美工指定一下Sampler,Decalmap,Glossmap,Normalmap之类的,然后关联一下Heightmap的Channel。BumpOffset大概就是一个Parallaxmapping之类的渲染Pass吧,
不知道多Pass之间组合起来会是个什么效果。。。

其实Hardcode也有好处,可以利用3DSMax的自定义材质功能让Max充当MaterialEditor,美工只需要在MAX里预览模型并填写一些参数,然后轻轻点击导出,就可以在游戏中得到和MAX中一样的效果了。对于需要对照效果反复修改的模型来说还是很方便的。
re: TJ3 Demo2.0 完成!! Pointer 2007-02-13 23:49  
相当有缺陷,特别是当视线与光线方向很接近时。
不过试验过PSM后我还是选择了TSM...又或者是我的PSM实现算法有问题?
re: Material Editor Pointer 2007-02-13 21:34  
很不错啊,其实让美术来自由发挥的最可怕的地方是。。。效率。。。
所以我还是比较倾向于美术和程序坐在一起,讨论并实现一个效果。
re: GLSL入门资料 Pointer 2006-03-29 21:22  
嗯,需要一个开发包,你可以在www.opengl.org上找到。
re: DXSDK Feb 2006 Pointer 2006-03-29 21:22  
哈哈,阿虹好久不见啊,还好吗?
我还是比较同意6大的说法,没有足够的thread,即使是8x8的block也不见得会在实际游戏中占有多大优势。
re: GPU Gems I 中文版 Pointer 2006-01-16 23:04  
书今天收到了,翻了一下,很赞。:D
re: 涂鸦的Origo Engine Pointer 2006-01-15 23:35  
多谢dfq兄了。:D

1.原来Alpha LOD就是将投影后较小的模型给予一个与投影后大小相关的Alpha值,直到足够小进而不渲染。

2.GPU Gems2一直想看,不过买不到呀。T__T

3.现在实时计算建筑物阴影的游戏也没有几个吧...开销太大不太值得,尤其是在室外缺乏强力动态光源的情况下显得没有什么必要。

btw:3DMax里有预渲染Self-Shadowmap的功能吗?可能是我又想多了。
而且模型之间也是有相互自投影的,相信应该没那么简单。;)
re: Relief Mapping Pointer 2006-01-05 18:51  
哈哈,消失了很久是因为前段时间一直沉迷在山口山中...惭愧...
一个新的技术从了解到实施于项目,确实需要一个过程,也需要多方面的配合。
不过我觉得也不能因此就拒绝去尝试,拒绝它带来的麻烦,也会同时拒绝它带来的好处。:D
而且技术总是在不断前进的,原地踏步就等于倒退。
re: Batch、Plant、Geometry & VS Pointer 2005-12-21 19:22  
哈,常量寄存器的数目对于不同硬件各不相同确实是个头痛的事。
不过我觉得最好还是根据硬件情况和实例数目来动态选择走哪个渲染PATH。用SHADER是可以模拟出同固定渲染管线一摸一样的光照效果的。:D
嗯,Geometry Instancing是利用VB来传送每个实例的信息。
是SHADER INSTANCING是类似SM3.0里的几何实例的东东吧。:D
re: fps up up!!! Pointer 2005-12-05 01:15  
哈,马肝兄也在为性能优化伤脑筋啊。
太多的DPCALL确实非常消耗性能,我也在这个问题上苦恼了很久,比如最近做的硬件加速骨骼动画变换,当常量寄存器不够时不得不在很少顶点的情况下就执行一次DPCALL,结果由GPU加速省下的CPU开销又浪费在了DRIVER上...
re: GLSL入门资料 Pointer 2005-10-31 23:09  
支持GLSL的,下载最新驱动试试。
re: Planar Shadow中Shadow Matrix的推导 Pointer 2005-10-20 22:33  
因为4维坐标的齐次项0代表方向向量,1代表位置向量。因为如果齐次项是0就不会参与变换矩阵的平移部分的变换了。
re: 我还活着... Pointer 2005-10-12 23:47  
真想做一条奥金幼龙...
re: 我还活着... Pointer 2005-10-10 21:11  
很不错的有一个游戏啊,也很能消磨时间。>__<
re: 我还活着... Pointer 2005-10-06 12:40  
=____=v
re: ailuro's splendid life Pointer 2005-05-18 22:55  
瓦考……好……好抽象……
re: 两道挺有意思的思考题 Pointer 2005-05-13 22:51  
在离开之前任意选定的一个。
re: 求职中 Pointer 2005-04-29 00:38  
发求职信了吗?相信一定没问题的。:)
re: 求职中 Pointer 2005-04-28 14:56  
承蒙错爱,被目标录取了,准备五一过后到职。:)
re: 求职中 Pointer 2005-04-12 20:13  
感谢大家的关心,我已经找到一个很棒的工作了。:)
re: 求职中 Pointer 2005-04-05 10:33  
HOTMAIL收发国内的信件似乎有些问题。:(

希望大家发信的时候同时向 Pointer3D@163.com 也发一封。
re: 求职中 Pointer 2005-04-01 21:57  
谢谢鼓励,我会加油的。:D
re: 求职中 Pointer 2005-04-01 13:07  
是啊,争取能专职做游戏了。:D
现在我人在北京,所以希望留在北京多一些。
re: 朝日奈夕子的Ray Tracing教程:-) Pointer 2005-04-01 09:47  
支持~ :D
re: some demo screenshots Pointer 2005-03-31 14:14  
很不错啊,介绍一下技术细节吧。:D
说错了一点。:P
如果镜面垂直于Z轴,镜像的Z值由于反射是颠倒的,这也正是需要假想中的旋转来进行重合的原因。颠倒的方式仍然依赖于假想中旋转的方式。
没有人讨论啊,我把我的想法说出来吧。
为了方便不想直接看答案的人,答案我用白色的字写,鼠标选择一下就能看了。

我认为镜子中的物体根本没有什么所谓的“左右颠倒”,它的上下、东南西北朝向都是与原物体相同的,所谓的“左右”只是一种局部坐标系而已。
如果你想让镜子中的你与你自身重合,你会尝试假想把镜像以镜面中心为原点绕Y轴旋转,最后你发现旋转后的结果与你自身并不能重合,就认为镜像被左右颠倒了,而这完全是一种惯性思维。现在打破这种惯性思维,如果你不是绕Y轴而是绕X轴旋转将镜像与你自身重合,你会觉得是你的上下颠倒了。:)
 
btw,如果你觉得使用EYE_LINEAR模式的话就是“图像始终面对正面”,那么你就理解错了。:)
最终结果如何关键在于上文中的Mm
这个证明确实是错的,对于redbook的这个讲解中EYE_LINEAR和OBJECT_LINEAR的结果应该一样的。:)
详细见:http://www.cnblogs.com/pointer/archive/2004/12/30/84367.html
re: depth peeling Pointer 2005-03-04 19:40  
re: depth peeling Pointer 2005-02-24 22:59  
woo shadow mapping是一种采用双层depth map来消除self-shadowing artifacts现象的shadow mapping。

由于pass1中获取depth map是基于light's point of view进行光栅采样的,而pass2中则是基于eye's point of view进行光栅采样的,所以实际在执行shadow mapping的过程中会产生一些错误的self-shadowing现象(特别是在倾斜的表面上)。

一种方法是通过polygon offset来消除这种self-shadowing artifacts现象。
btw:我在shadow_mapping_with_glsl中没有使用polygon offset而是进行了一个恒定的z偏移,实际上这么做并不合适。(这个demo里的问题太多了。:D) simple_shadow_mapping倒是用了polygon offset。

可是偏移多少合适呢?通常这是一个经验值,显得不那么优雅,而且如果两个表面过于接近,偏移过多的话会使得本来处于阴影中的表面能够错误的接受光照。

另一种方法是获得第一个深度表面和第二个深度表面,取中间值作为depth map,这样就不会担心第二个表面错误的接受光照了,这就是woo shadow mapping。

不过woo shadow mapping也存在一些问题,在depth layer有“断层”的地方也很可能错误的接受光照。而且现阶段还没有支持多次depth test的硬件,用shadow mapping模拟需要3pass,效率太低,所以还是polygon offset来的实惠啊。:)
re: shadow mapping with glsl Pointer 2005-02-18 11:04  
晚点我看看是怎么回事... @__@
re: shadow mapping with glsl Pointer 2005-02-12 16:48  
多谢夸奖。:D
 
不够标准之处是在于用到了WGL_NV_render_depth_texture扩展吧。:D
我改了一个直接从PBuffer里面glCopyTexSubImage2D()的版本,在R3xx系列的显卡上应该可以运行了。
这两个版本在我的机器上有15FPS左右的差别。
 
先下载上面的两个包,解压后再用下面包里的内容替换就可以了。
http://www.cnblogs.com/Files/Pointer/shadow_mapping_with_glsl_ati_patch.rar
re: 如何计算投影纹理坐标 - 补充 Pointer 2005-02-06 23:00  
谢谢心蓝兄指点。:D

GLSL里也有texture2DProj,应该也是实现相同功能的。
re: 图像尺寸对清晰度的影响 Pointer 2005-02-04 09:32  
可能是的,我没有使用gluBuild2DMipmaps()。
re: 图像尺寸对清晰度的影响 Pointer 2005-02-03 11:19  
奇怪了,OGL默认支持"NON-POWER-of-TWO"格式的纹理吗?我这边如果图片不是2^n规格的话则不会显示。

btw:可以用GL_ARB_texture_rectangle扩展来支持Non-Power-of-Two规格的纹理。:D
DRAW TO BMP我没有用过。*^^*
"渲染到BitMap"是指"render to texture"吗?如果是的话,需要确认如下几个扩展:
WGL_ARB_pbuffer
WGL_ARB_pixel_format
WGL_ARB_render_texture
re: Md5 Loader Demo Pointer 2005-01-18 11:31  
会公布源代码的,之前我想先抽空完善一下。
是类似于DOOM那种2.5D的吧。厉害!
re: nVIDIA的礼物 Pointer 2005-01-16 00:49  
晕,躲起来先。
re: nVIDIA的礼物 Pointer 2005-01-15 19:43  
有啊,包包的标志最大,不知道明天背出去会不会被A饭砍。:D
re: 如何计算投影纹理坐标 - 补充 Pointer 2005-01-13 09:22  
没有呀,只是想学习一下固定渲染管线的流程。*^^*
共3页: 1 2 3 下一页