
2007年2月16日
最近同事购入一台wii,体积和一个光驱差不多大,另带传说中的双节棍和一张300多米的wii sports。。
高尔夫,网球,保龄球,棒球,拳击……个个就象个疯子一样在电视机前比划来比划去,绝对哼哼哈兮。提醒各位有意向购入wii的同志一定要在宽敞的场地PLAY,健身游戏两不误哈,怪不得那么受MM的欢迎。
目前来看,wii的走势是最好的,任天堂用了9个月就完成了预计12个月要赚的钱。要说性能,wii绝对不是360和ps3的对手。只能说人家有创意,玩得出新花样,毕竟游戏还是以GamePlay为主的嘛。再看看店里那些被搁置的PS3,不得不PF老任这个老江湖。。
刚好拿到SDK,翻阅了一下才知道为什么叫他GameCube2了,不论是硬件架构还是底层接口设计基本上和GC没太大变化,就连TRC也是在GC基础上直接修改的,orz一个。
posted @ 2007-02-16 00:51 chaz 阅读(246) 评论(1)
编辑

2007年1月31日
最早接触的材质管理是quake中的shader脚本。引擎可以针对脚本中设置的渲染状态对处理一个指定的pass,类似于现在的FX结构,极大地增加了渲染的灵活性。虽然现在仍有许多引擎沿用着此方法,但随着游戏产业的流水线化的发展,脚本显然跟不上变化的需求。因为我们不可能为每个游戏写上几十个脚本,而且最可怕的是你写出来的效果并不是美工想要的。当然,我们不可能要求美工去学习ASM或HLSL。理想的方案是用一个中间层,帮助我们把美工对材质的描述转换为引擎实际使用的shader。
下面是我在网上找到的一些材质编辑器的截图

[comment] 这个比较简单,只是编辑每个stage的纹理以及纹理坐标

[comment]把material和mesh editor集成在shader builder中,主要是为了把两者关联起来,虽然在工具层的包含关系上有点奇怪。另外可以发现它允许对多个通道进行编辑。
写过shader的朋友肯定一眼就能看出其中表达的意思。对于美工来说,这些图示也并不难理解(这正是我们想要的:)。两个编辑器的共通点就是结点化。所有效果全都是通过结点的连接来实现的。对于程序员来说,需要做的就是把shader功能模块化,同时,把常用通道以模板形式开放出来。结点连接的工作就全部交给美工去做了,所以最终的效果是取决于美工。新效果的添加也很方便,只要对应地追加一个shader模块和结点即可。
再贴一张unreal的材质编辑器截图

[comment]这个就比较BT了,它对编辑者基本没有什么限制(只要shader编译能通过),灵活性就没得说了
posted @ 2007-01-31 23:07 chaz 阅读(767) 评论(5)
编辑

2006年10月2日
摘要: 放假了,来更新一下 :)PRT在给我们带来实时全局光照的同时也给我们带来了精度和数据量的问题。通过DXSDK的例子不难发现,要让阴影有平滑的过度需要大量的顶点,这是利用了显卡帮我们做其中的颜色插值。但实际上对于稍复杂的场景,大量的顶点就意味着no-realtime。虽然逐象素PRT能缓解这方面的问题(nicky的文章有详细的描述),但庞大的数据量始终是令人头痛的。各种压缩的方法有待挖掘。直接光照:...
阅读全文
posted @ 2006-10-02 13:39 chaz 阅读(898) 评论(4)
编辑

2006年8月11日
在MAYA中要获得通道信息,必须先连接到shader node上,也就是编辑环境中的材质球这个概念。
然后通过findPlug这个接口去访问color这个属性,一般这里放的是diffuse map,具体可以参考SDK里的fileFindTextures例子。
但是很奇怪的是,SDK里的例子没有介绍如何访问其他通道的方法,而且一些开源的插件也仅仅导出一层图。
那么,先看一下diffuse map导出的过程:
在访问到color属性后,SDK的例子是通过调用MItDependencyGraph得到对应的MFnDependencyNode,
然后询问ftn属性取得结点所包含的纹理名称。
我们不妨从现有的基础上出发,做一下尝试。
Test1:
用shaderNode作为根结点构造MItDependencyGraph,遍立整个Graph,输出每个结点包含的纹理信息。
Result:
所有被使用的材质信息都可以导出,但是具体是属于哪个通道是无法确定的。
Test2:
还是使用findPlug这个接口,但是需要填入attribute,其他通道的attribute都是些什么呢?
window->General Editors->Connection Editor...
load之后会显示任何选种物体的可连接对象,所以,我们需要的attribute就全在这里了。
原来bump channel用的是normalCamera,谁会猜得到呢。。
接下来的步骤就和导diffuse map一样了,而且同时还可以知道对应的通道 :)
Maya的文档中缺少FAQ,而且例子代码也很久没更新。使得开发人员在碰到问题时感到束手无策。
这点Max做的还行,Discreet提供了一个专门的BBS,并且在SDK中还有帮助文档。
实在找不到文档的时候,可以试着学习一下工具的使用流程,或许可以从中得到一点启发。
posted @ 2006-08-11 23:59 chaz 阅读(415) 评论(0)
编辑

2006年2月25日
抱着一颗好奇的心,参加了PCHOME主办的XBOX360见面会
虽然网络上早已流传不少游戏的截图,但游戏的实际运行效果才比较有说服力
这次展出的3个游戏分别是COD2,PGR3和DOA4
说实话我是觉得有些失望的,当然除了没能亲手体验一把,介绍游戏的都是玩家这两个因素
关键是画面的质量上完全显现不出1080P的威力,可以说目前的顶级配置PC是完全达得到相应的效果的
倒是UBI的开发人员介绍的360开发环境来得更精彩一些
对于拥有3颗IBM POWERPC的360,同时处理多个模块游刃有余
随着AI和PHYSICS的模拟日益成熟,在游戏中所占的比重也日渐增加
单芯片显然已经无法继续承受更多压力,3芯片恰好能完美得并行处理这3大模块
也就是说,如果把360利用到极限,其芯片的处理能相当于一块9G的芯片,显然时下不可能有这样的芯片
同一个游戏可以达到以前的3倍性能?难以想象……
GPU方面,除了SM3.0的一些新特性,免费提供4xAA还是很诱人的
另外,编译器也提供了一些有趣的功能
比如说我们知道,内联函数节省了函数调用的开销,从而提高执行效率
但是一些不恰当的内联函数,函数的展开并不比调用及返回来得开销小
在360的开发环境下,可以让程序执行多次后,自动决定哪些函数使用内联
最后是XNA,自己不是很了解,只是在DX的文档里和它见过几面
回来查了一下,发现这家伙的来头还真不小
自从M$在前两年的GDC上提出XNA的口号时,就引起了不少知名开发商的支持
它的主要目的是作为下一代的开发环境,对所有平台,目前已有的开发环境以及一些新的特性的整合
以帮助开发者在创建更加优秀、快速和跨平台的游戏时能够减少费用
(注:这里指的平台是windows, winCE和Xbox)
也就是说,以后再也不需要做XBOX到PC移植这种“愚蠢”的事了
XNA Studio将发布一个由统一的文件格式驱动的改进了的构建架构,并以此来解决工作流问题
该构建框架由一个集成的工具套装构成,能够为所有团队成员优化游戏生产流程
看来,M$又为广大人民搭好了架子,让大家开始新一轮的开发……
XNA工具将包括DirectX和High-Level Shader Language (HLSL)、XACT、PIX和Xaudio API,以及其他开发工具如Visual Studio
posted @ 2006-02-25 22:21 chaz 阅读(268) 评论(2)
编辑

2006年2月4日
摘要: List? Strip? 想都不用想,肯定是strip更有效率咯最优的VB和IB,传输速度上是最快的,而且还有相当的cache命中率但是试验下来却发现两者不分伯仲……算法看了几遍都没发现问题 现在才意识到又是关系到硬件,OMG!至少在A卡上,优化过的list和strip是执行效率是差不多的NV则更偏向strip,具体还需要测试一下……恩,在论坛上找到...
阅读全文
posted @ 2006-02-04 14:09 chaz 阅读(262) 评论(0)
编辑

2005年11月15日
摘要: 前几天下了极品9的DEMO,这款游戏给我的感觉一直就是两个字:爽快。所以新作上市还是要给EA面子,跑一下看看整体运行的效果。本人的机子算是够烂的了,差不多是极品9的最低配置了吧...在网上也看到不少用9550跑的火星贴,正好给了我死撑一下的动力,顺便看看人家的优化做得怎么样最为关心的就是3D选项了。但是很奇怪的是,在shadow这一项竟然是灰的,不让我选...我这128的卡做做shadow map...
阅读全文
posted @ 2005-11-15 00:20 chaz 阅读(340) 评论(0)
编辑

2005年10月16日
摘要: 做shadow map最方便的方法当然是通过硬件的支持,直接获得DST。但很不幸,只有NV的GF3+支持。这大大提升了渲染的效率,看了网上的一些相应的文章,别人在做3DMARK测试时往往都是把使用DST关闭的。这样测试A卡和N卡才比较公平,不然N卡的“优势”就太明显了。庆幸的是,ATI终于在最近的SDK里放了一个hw shadow map的例子(9700 pro+)^ ^我...
阅读全文
posted @ 2005-10-16 14:49 chaz 阅读(1410) 评论(0)
编辑

2005年2月24日
摘要: 好久没有更新了,不过实在是没有新的作品 很少有时间写自己的东西了,最近也就重建了framework,正在加入D3D的部分 skinnedmesh已经写得差不多了,现在在看stencil shadow z-pass:分别渲染shadow volume的正面和反面,视线经过正面depth test时stensil +1,经过反面depth test则-1。 最后得到stensil值不为0,说明该区域...
阅读全文
posted @ 2005-02-24 21:33 chaz 阅读(1188) 评论(0)
编辑

2005年1月7日
posted @ 2005-01-07 13:45 chaz 阅读(3808) 评论(11)
编辑