FX Composer VS RenderMonkey 使用对比之 FX Composer篇

    其实编辑一个shader到debug它,有很多方法,很多方式,也有很多工具.

    目前市面上,不管收费还是免费,名气最大的要数RenderMonkey和FX Composer. 一些用户还会选择shaderFX,还有些人会选择 notpad + 3dmax/maya.可以说每一种工具或者方式都对某一些shader来说很好很方便,但是对其他的shader来说很不好用甚至不可能.浏览了一下网络上的资料,发现对工具的讨论很少,自己在选择工具时候就曾经和迷惑,所以谈下经验,或者说我的经历,供读者参考.

    但是本人精力,水平毕竟有限,不可能对所有的工具,以及用法做一一详细对比,只能是在使用过程中遇到的问题进行下简单的横向对比,即使如此,相信也能更好的帮助需要使用快速可视化shader编辑的同学了解自己所需,更好的选择适合自己的工具.下面开始说正题:

    当初选FX Composer, 一是因为RenderMonkey到了1.82就没有再更新过.同时AMD易主,开发社区普遍流传的说法就是RM已经过时,不会出现新的版本.大家知道shader这个东西,很多是要配合硬件与技术更新的,如果你想玩玩新的特效,一款久不更新的工具会很别扭,本因是因为shdaer语法的变化,shader使用方式的变化等等.当然FX Composer并不是救世主,下面会谈具体原因,我用FX很简单的原因就是:个人喜好(要说明的是,FX也很久不更新了,所以为什么选择他,我只能归类为个人喜好了,呵呵.).不过还有另外一个原因,下面就来说:

    同时用过RenderMonkey和FX的人一定能感受到,FX的脚本真是很好用,虽然Rendermokey把很多功能都提供到了UI,使你很方便的点几下按钮就能完成很多设置。但是,方便的同时意味着在灵活性上有所减弱。虽然FX的脚本语法在没接触过的人看来增加了学习曲线,但是一旦你真的愿意花时间去学,如果你有编程基础,一天之内,你就能较熟练的使用脚本语法来在FX上搭建你的shader了。

    但是FX Composer在它本身上又体现了“人格分裂”,即它支持HLSL,也支持N家自己的COLLOADA fx,即cgFx。虽然说cg和HLSL很像,但毕竟有区别,具体到工具上就是:同样是FX Composer,用cg就能较好的使用FX本身提供的完整功能,但是你用HLSL,很多重要的工具你无法在FX Composer上使用。我不明白为什么这么设计,为了更好的宣传cg,传播cg而对HLSL进行的制衡么?只可惜N家就是这么设计的FX,用HLSL只能眼睁睁看着。如今的软件业,要投资精力的地方很多很多,一个人很难去用一种工具就去学习那个工具指定的整套规则,特别是用其他工具可替代,或者投资精力不值得。本人不喜欢cg,哪怕他跟HLSL有一点点不同,他也不能很好的匹配HLSL所有的场合。并且用FX的初衷就是玩HLSL,只不过不想每次自己都写代码去进行配置。说白了偷懒罢了,如今偷懒不成反而要花精力投资新工具,并且不是那么必要,我就果断跟cg说拜拜了。

    这就导致FX出现了一个绝对的硬伤,一个古老但有用,几乎是个游戏都少不了的RTT,FX如果你用HLSL而不是cg,就无法使用。当然有些trick可以让你在FX那个viewer里显示出你要的东西,但是运行过程很多warning和error,并且过程不连贯。完全就不是如cg那种支持的流畅与perfect。这种感觉就好像你用螺丝刀的刀柄当锤子去敲钉子,钉子小并且手头没工具倒还可以,倘若遇到大钉子,实在是无能为力。这也是导致我写这篇文章,我去了解RenderMonkey,以及我最终的想法这一系列的引子,各种迷惑,会在后续文章中一一解开。

    当然,只是一个RTT无伤大雅,能用FX做的事情还很多,甚至跟RenderMonkey同类型的功能一样好。

    关于这个RTT,RenderMonkey就可以很好的实现,很顺畅的展示。shaderFX我没用过,在他人气提升之前我也不打算去了解。另外要说的是,用notpad+3dmax的方法对我来说不是很实用,而且3dmax也有他的硬伤。但是由于我本身是个程序员,不是artist,所以没用过3dmax也不好说什么,就此略过。我不支持作为一个程序员不去尽量横向扩展知识,但是如果单纯为了横向扩展而扩展,就没必要了。工具毕竟是工具,要使用它,它才能给你带来价值。不然你把一个工具研究再透彻,不去用它,撇去兴趣爱好不谈,纯碎浪费时间 >_<!!

    基于以上我们可以看到,其实玩shader,不同的人有不同的玩法,没有完美切省时省力的工具与方法存在。同时不得不惋惜的说,通过对FX脚本语法的朝夕相处,真的很喜欢FX,但是有些技术上能达到却可能由于某些原因它没有去做,导致这个本该更美好的工具不是那么顺手,只能让人唏嘘不已。

posted on 2011-10-23 15:06  Meta.Grfx  阅读(3786)  评论(3编辑  收藏  举报

导航