A9VG电玩部落论坛

标题: 卡马克还是卡马克,不佩服不行啊~~~~~ [打印本页]

作者: zl1030    时间: 2011-10-11 03:48
标题: 卡马克还是卡马克,不佩服不行啊~~~~~
刚玩了会360版Rage,从船舱出来后的画面一直都很棒,去做第一个任务的那个破旧转圈楼,更是让我震精了,这光影这材质贴图,现在我能想到可与之相比的就是神海了。。。卡马克还是以前的卡马克,图像引擎技术依然不是盖的,在6年的主机上能搞出这效果,很是佩服了


PS:比显卡危机主机版强多了,那点小光影没法跟Rage比。。。
作者: 九阳神剑    时间: 2011-10-11 07:29
神海 也用的是类似id的megatexture技术,不过效率没有rage高
作者: liu2596960    时间: 2011-10-11 08:07
本帖最后由 liu2596960 于 2011-10-11 08:08 编辑

目前来说技术方面RAGE的确是最强的

可能画面和孤岛危机相伯仲  但帧数是无敌的

这样的画面配合这样的帧数  卡马克用了火箭技术

最佳画面  RAGE当之无愧
作者: lcherika    时间: 2011-10-11 18:51
那么厉害啊!等我把爷们3过关后刻盘玩.
作者: teddy1213    时间: 2011-10-11 19:26
本帖最后由 teddy1213 于 2011-10-11 19:28 编辑

really,我怎么觉得和kz3,cry2这两个的差距很明显,贴图没有kz3精细,光影也不如crysis2,不过看在60帧的份上,这游戏还是不错的,要是mw3有这样的画面,那就无憾了.
作者: zctang305    时间: 2011-10-11 20:11
rage这游戏在PC饭口中和在主机饭口中的评价完全两极化啊。。。[s:386]
不过说tech5能和CE3,寒霜2之类的不相伯仲有点太过了,毕竟tech5目前在rage中的应用还是以展示megatexture技术为主,物理基本没有,光影也是预烘焙和贴图。
不过个人很喜欢这次的rage,美术风格很合本人胃口,让别人骂吧,自己玩的舒服就行了!
作者: cyrax    时间: 2011-10-11 20:21
本帖最后由 cyrax 于 2011-10-11 20:28 编辑

技术上讲rage是最落后的,和ce3完全没有可比性。画面出众主要靠的美工,除了人物,其他任何物体的阴影都是预先烘焙好的lightmap(quake一代就这是这样了。。。),好处是极小的开销能带来异常真实的画面,但缺点也是明显的,物体之间只能是静止的,所以场景基本也没互动性。此外 shadow map, HDR, SSAO, 等都没有,所以能做到60fps。

偶画面控,不可否认rage作为欣赏风景还是很不错的。


作者: zctang305    时间: 2011-10-11 20:26
rage有shadow map,有hbao,并不是什么都没有的,PC版看cfg文件可以看出来。
作者: cyrax    时间: 2011-10-11 20:36
zctang305 发表于 2011-10-11 20:26
rage有shadow map,有hbao,并不是什么都没有的,PC版看cfg文件可以看出来。

shadow map是有,但仅限于人物和车辆,这样做的好处是局部小范围的shadow map可以极大降低填充率的需求。缺点也很明显:场景其他没有使用的物体只能是静态阴影,而且还会和人物阴影错误的重叠两次。

hbao是没有的,cfg写上也不起效。hbao,ssao是为了解决动态物体的ambient occlusion,rage这种毫无交互性的场景用它只能是浪费,mega texture大尺寸的lightmap纹理足以。
作者: zctang305    时间: 2011-10-11 20:46
cyrax 发表于 2011-10-11 20:36
shadow map是有,但仅限于人物和车辆,这样做的好处是局部小范围的shadow map可以极大降低填充率的需求。 ...

当然这是可能的,megatexture目前其实对一些主流的材质技术支持并不好,卡马克后期还有很多工作要做,rage个人觉得只是tech5的一个演示作品。
作者: moriyasana    时间: 2011-10-11 22:05
看看..........................
作者: lalaphin    时间: 2011-10-11 22:13
我觉得这游戏在动态的时候降低材质分辨率挺好的,保证了游戏的流畅性,而且玩家也不会去注意看细节。停下来的时候立刻提高分辨率,正好供玩家欣赏风景。国外网站评测的说这风景breathtaking。
作者: riddick123    时间: 2011-10-11 22:27
就是物理系统太弱。。
作者: 金手套    时间: 2011-10-11 22:35
这是翻案帖么?前面几乎全是喷画面的,PC论坛喷的更厉害。
作者: YECONGAKIRA    时间: 2011-10-11 23:21
卡神拿DOOM3实验TECH 4,拿RAGE实验TECH 5!但是过段时间之后你会发现卡神成功了!
作者: 九阳神剑    时间: 2011-10-12 08:05
本帖最后由 九阳神剑 于 2011-10-12 09:20 编辑
cyrax 发表于 2011-10-11 20:21
技术上讲rage是最落后的,和ce3完全没有可比性。画面出众主要靠的美工,除了人物,其他任何物体的阴影都是预 ...


这位同学,你真的懂吗?不懂不要乱说,好不好。。。

什么SSAO之类,  只不过是后期处理的雕虫小技, 也拿出来说事。。?!

(你还应该说 Rage没有God Ray, FXAA, Depth of Field),这些东西随便找个基础不错的图形程序员,2,3天就能搞定的东西

能和megatexture比吗?

MegaTexture是游戏技术领域 近10年来颠覆性的革ming技术!!

你竟然说技术落后, 你了解megatexture的原理吗?megatexture编辑方式吗?数据压缩和组织方式的吗?

什么都不知道就出来乱喷。。。佩服
作者: cyrax    时间: 2011-10-12 08:34
九阳神剑 发表于 2011-10-12 08:05
这位同学,你真的懂吗?不懂不要乱说,好不好。。。

什么SSAO之类,  只不过是后期处理的雕虫 ...

呵呵, 偶不懂? 偶是职业开发者,且早在quake3时代就是狂热死忠。现在只能实话实说。

早在98年SGI就提出了Clipmap: A Virtual Mipmap,基本和MegaTexture的原理无大差别。能使用一张32768的超大纹理就叫**性了???  texturestreaming各家引擎都有,也没什么好炫耀的。Rage的效果不可否认很朴素,但是美工确实强。只是ID的总监Tim Willits 是个大嘴巴,每次记者采访都说得牛气冲天。卡马克本人是很低调的。

ID从Doom3 alpha泄露版之后就开始渐渐走下坡路了,时代是在发展的,之前多么的辉煌也不能代表之后能怎样。不说游戏就连引擎也不是光靠一个人就能搞定的了。玩火箭之后卡马克心思早就不在引擎上了。基本上可以说: id之后也不可能开发出和ce3,ue3旗鼓相当的引擎了。id从规模上讲就是一家微型公司,卡马克也不希望做大。
作者: 九阳神剑    时间: 2011-10-12 08:46
本帖最后由 九阳神剑 于 2011-10-12 09:03 编辑
cyrax 发表于 2011-10-12 08:34
呵呵, 偶不懂? 偶是职业开发者,且早在quake3时代就是狂热死忠。现在只能实话实说。

早在98年SGI就提 ...


Clipmap和 megatexture 原理一样吗?

如果你认为一样,正说明你不懂。。。好好去研究下吧,呵呵

姚勇写的那个分析megatexture的pdf,真是误人子弟啊,完全风马牛不相及,哈

职业开发者? 呵呵, a9潜水的业内人士可多了去了,水深着呢

小同学,作为开发者,自以为是,可不是好习惯哦
作者: wooyang    时间: 2011-10-12 09:00
围观一下技术帝们............
据我所知目前大部分主机游戏光影都靠预烘焙的吧...
之前做美工的时候 lightmap总是逃不掉的(用lm偷懒作为明暗关系叠加在diff贴图上)......即时引擎的即时光影运算如何强大 美工依然需要做这些来增加效果。
作者: kakakonami    时间: 2011-10-12 10:59
回复 cyrax 的帖子

朋友,我同意你的观点
作者: cyrax    时间: 2011-10-12 19:47
本帖最后由 cyrax 于 2011-10-12 20:09 编辑

现在的主机游戏lightmap主要用来处理低频的静态环境光来大幅增加场景的真实度,具有清晰阴影边缘的主要高频光源则一般使用PSM, CSM,LiSPSM......之类的Depth-based shadowing,最后再用ssao,hbao之类解决动态物体的ambient occlusion问题,基本就能得到非常真实的效果了。
在移动设备上,由于GPU基本都是Tile based rendering构架,对于shadow map的渲染不能说是非常有效,再加上性能也很有限,所有阴影基本只靠lightmap,infinity blade画面是很强悍,但人物连个影子都没有实在很遗憾。。。前两天苹果发布会看了Infinity Blade 2的预告发现人物终于有影子了,应该是和rage一样渲染局部小尺寸的depth map来解决单独动态物体的阴影问题。问题和rage一样,无法避免和lightmap产生阴影的重叠问题。。。性能只有到PSV,大范围的shadow map才有可能使用,不过我看sony的某些demo依然是人物没影子。。。

其实在ipad2上面,id是有能力做到和pc看起来一样画面的,之前虽然也有个固定路线的演示版,但是那个是按iphone4和ipad优化的,效果缩减太多,如果为gpu性能X7的ipad2专门出一个版本效果应该很震撼。

@九阳神剑
如果你认为megatexture是颠覆性的革ming技术,就从技术角度给分析一下。如果只是人身攻击偶只能对你选择性失明了。
ps:原来你查技术资料都是用百毒
作者: vengil    时间: 2011-10-12 19:56
其实这次实时光照退步了,完全走美工路线了,但效果确实很棒。。。
作者: lalaphin    时间: 2011-10-12 22:19
别扯什么美工不美工的了,美工解决一切问题干嘛不去wii上面开发?
作者: tripx3    时间: 2011-10-12 23:05
怎么卡马克会愿意用落后的技术? 节省资源?

开发一下模拟GI技术很难么? 这年头我们很难接受假光影了, 尤其是室外的大面积假光影.
作者: xbox2ps360    时间: 2011-10-13 01:11
这贴越来越有意思了。。。
作者: darekneo    时间: 2011-10-13 01:18
teddy1213 发表于 2011-10-11 19:26
really,我怎么觉得和kz3,cry2这两个的差距很明显,贴图没有kz3精细,光影也不如crysis2,不过看在60帧的份上,这 ...

KZ3? KZ3这坨大便我都不好意思喷他,贴图近看都是马赛克斑纹了
作者: 帕德米    时间: 2011-10-13 07:18
孤岛危机的画面好么?夸张的hdr跟很多同类相比没什么区别,人眼哪有这么脆弱,看点光就有光晕,kz2的画面就更sb了,画面对比这么强烈加上色彩不协调是要弄坏人眼的!
作者: 九阳神剑    时间: 2011-10-13 08:54
本帖最后由 九阳神剑 于 2011-10-13 11:30 编辑
cyrax 发表于 2011-10-12 19:47
现在的主机游戏lightmap主要用来处理低频的静态环境光来大幅增加场景的真实度,具有清晰阴影边缘的主要高频 ...


cyrax 看你还纠结在ssao,shadowmap的各种衍生算法上,就知道你是个刚进入业内不久的新人

siggraph 2009有 一篇你认为“技术落后”的,《id tech 5 Challenges》的ppt,原理和clipmap是否一样,自己去看,当时和J.M.P van waveren(现任id software的技术总监)聊了下MegaTexture的未来应用,当时这哥们的意思工具已经相当完善了,真正的矛盾是硬盘空间。(J.M.P van waveren是当初开发q3 AI bot的那位荷兰学生,现在整个一黑胡子版圣诞老人)

09年CGDC(上海) 单独和tim sweeney聊了下关于megaTexture的看法,tim sweeney的观点是完美和强大,不过工具开发很困难,另外存储空间也是个问题,UE3目前暂时没法考虑。ue4更多的是往 多核软件渲染方向考虑。

哎,发现最近真是蛋疼。。。跑a9上面来喷小孩 ,可能是玩了rage之后比较兴奋,汗
作者: 金手套    时间: 2011-10-13 14:12
lalaphin 发表于 2011-10-12 22:19
别扯什么美工不美工的了,美工解决一切问题干嘛不去wii上面开发?

意思就是以xbox360和ps3的机能,在纯技术条件下即使深度优化,也无法做到画面与帧数两全,必须通过美工减轻硬件压力,但前提是硬件得有一定的实力,Wii的性能已在底线之下。
作者: cyrax    时间: 2011-10-13 20:17
本帖最后由 cyrax 于 2011-10-14 08:22 编辑
九阳神剑 发表于 2011-10-13 08:54
cyrax 看你还纠结在ssao,shadowmap的各种衍生算法上,就知道你是个刚进入业内不久的新人

siggraph  ...



那篇ppt自己要是没看懂我给你简单分析下:
MegaTexture用的是四叉树的Sparse Texture Pyramid,这根本就是Pyramid LOD clipmap思想的一种实现....先要把算法思想和算法实现搞清楚。megatexture除了Texture还是Texture,别的没了。。。megatexture在rage上给我们展现的优点是什么?异常真实的静态贴图?别的引擎做不出?还是说可以极大的方便美工和开发者,做一个游戏只要7年。。。或者说效率超高可以跑60帧?好吧如果连最基础的shadowmap都不敢大范围用,Ipad2也能60fps跑出这画面。。。。不是我纠结ssao,shadowmap,这些次时代最基本的特性都没有还扯什么**性。。。
也许id tech5引擎有Depth of Field, HDR,  MotionBlur之类的实现,但是Rage上是绝对没用,为啥不用?很简单上述特性启用任何一个,优化到死主机上也不能达到60fps。。。遗憾的是PC上也不能看到更好的效果,比主机只是:更大纹理+FSAA+1080P。物理,FX后期效果全无!哦,不对,不是全无,我看到了从室外到室内 色调Lut Gamma调节。。。如果真是**性的倒是搞点realtime dynamic GI给大家开开眼阿。。。除了贴图还是贴图,本来不打算喷,搞得我也来瘾了。。。

丢一篇ppt再扯上几个人名就叫技术分析了么? 看这几贴我能猜出即使你是液内人士,也肯定是不需要技术的和研发无关的职位。具体表现为浮躁,略懂皮毛就开始夸夸其谈,周边扯得天花乱坠,以示自己很资深。装资历老,老的可以入土了么。。。。
得,打住吧,再回帖你也说不出啥实质性内容,只是毫无意义的讥讽罢了。
至于我是做什么的,我不是游戏液内人士,但我是搞实事渲染的专业人士。本人对卡马克还是非常崇敬的。只是看不惯九阳神剑这么吹的。
作者: lalaphin    时间: 2011-10-13 23:53
金手套 发表于 2011-10-13 14:12
意思就是以xbox360和ps3的机能,在纯技术条件下即使深度优化,也无法做到画面与帧数两全,必须通过美工减 ...

你说的我同意,不管是通过美工还是引擎自己的威力,能把画面发挥到最佳就是好猫。好引擎也是为此而生的,否则本末倒置。在一辆QQ上硬装V8发动机,只是给自己找麻烦。而且想把美工做好,也不是那么容易的事情,我认识做美工贴图的朋友,曾说一点点的打光也很累人很难的。
作者: 九阳神剑    时间: 2011-10-14 08:18
本帖最后由 九阳神剑 于 2011-10-14 14:11 编辑
cyrax 发表于 2011-10-13 20:17
那篇ppt自己要是没看懂我给你简单分析下:
MegaTexture用的是四叉树的Sparse Texture Pyramid,这根 ...


MegaTexture 的技术文档都没看明白,就喷卡马克“技术落后”

看出来了van waveren,Tim sweeny这些人都不如你明白,

在A9这样的玩家论坛(注意是玩家论坛),胡乱堆砌了一堆技术名词(美其名曰技术分析),忽悠不懂技术的玩家

(随便给你纠正一个“我看到了从室外到室内 色调Lut Gamma调节" 那个是color grading和gamma没半点关系)

动不动就号称自己“专业人士”,确实够浮躁的

呵呵,就你这种水平,面试的时候我见得多了。。。夸夸其谈没一点真格的。(还个个都号称是实验室里的项目leader)

快打住吧。

PS : MegaTexture我们已经研发两年多了。想听我做技术分析,去GDC。


作者: yododono    时间: 2011-10-14 09:24
cyrax 发表于 2011-10-11 20:21
技术上讲rage是最落后的,和ce3完全没有可比性。画面出众主要靠的美工,除了人物,其他任何物体的阴影都是预 ...

太难得了,在主机论坛还能看到这样的回复。

不过觉得idtech5能做到画面和帧数平衡,这点不易。也比较适合主机平台。
主机跟PC没法比,主机的硬件配置就固定在哪了。所以我觉得寻找平衡点才是
上策。
作者: shinsb    时间: 2011-10-14 11:44
没后悔进这个帖子,长知识了
作者: flyshowflx    时间: 2011-10-14 12:08
九阳神剑 发表于 2011-10-14 08:18
MegaTexture 的技术文档都没看明白,就喷卡马克“技术落后”

看出来了van waveren,Tim sweeny这些人 ...

GDC哪场,教程与峰会参会证有份么
作者: huanzhifei    时间: 2011-10-14 16:19
占座学习,强帖留名啊
作者: fantasydr    时间: 2011-10-14 16:39
围观液内……强贴留名……
作者: milkwoody    时间: 2011-10-14 18:54
出現羅生門事件了
召喚真相帝..........
作者: cyrax    时间: 2011-10-14 20:27
九阳神剑 发表于 2011-10-14 08:18
MegaTexture 的技术文档都没看明白,就喷卡马克“技术落后”

看出来了van waveren,Tim sweeny这些人 ...

哈哈,刚开始还说“a9潜水的业内人士可多了去了,水深着呢. ” 后来一看形势不妙就改:在A9这样的玩家论坛(注意是玩家论坛)。。。你这变得也忒快了吧。


以下文字仅基于你是液内人士的回应:(如果是完全编造,那就算我白码字吧。。。。)
你想用来体现你专业资深的论述我只能看到:去过China GDC,和Tim sweeny等人聊过。。。。摆脱,只要是液内人士,要做到这点很难么?
至于你“随便”纠正那个,很遗憾你又错了:知道color grading和per channel gamma correction具体都是怎么实现的么?偶给你扫扫盲:这俩实现手段完全一致:fragshader上做一个每通道256大小的查找表完事。。。换个说法你就认不出了?

MegaTexture你们就算研发两年多,那也只是你们公司,不是你,就你这水平还真认为自己能上GDC来个演讲阿。。。你敢报报你们公司名字么。。我劝您还是别了,省得给你们公司抹黑。
再说MegaTexture本身,你认为“**性的MegaTexture”能给你们做的游戏提供什么惊世骇俗的展现?按你这观点人家google earth的从整个地球缩放到一辆车所使用纹理技术是不是都可以称为外星科技了?
类似于virtual lod streaming texturing偶一个星期就把prototype在自己需要的引擎里搞定了。。一个纹理技术就算实现的再精美也没必要往**性上扯把,当心步子过大扯到@@。。。奉劝你们一句不要把主要精力都花在texturing方式上,那样得到的回报和付出不成正比。。。

至于你说的Tim sweeny那些话,我基本没有反对,megatexture作为一个virtual texturing技术的确很好,但是它能代表整个引擎么??给你个轮子你就当汽车了阿。。。另外你不觉得Tim sweeny对于megatexture的看法是给你们公司辛辛苦苦研究megatexture的人说的客套话么。。。真革ming性他们怎么UE4也没考虑用啊。。。

最后你又能扯到面试上。。。。好吧,偶们这来面试的上海名校研究图像处理计算机视觉的博士连进程线程概念都搞不清的人我也见多了,你说的那种“自称实验室里的项目leader”的没有实际5-10年工作经验者如无特殊情况我们都不给面试机会的。。。

赫赫,一般我很少发帖,但最看不惯的就是不懂还吹和忽悠。作为义务偶见一个拍一个。。。

作者: cyrax    时间: 2011-10-14 22:39
恩,好的,你终于打住了,偶也不会回了,谢谢~
作者: nicole-fan    时间: 2011-10-15 13:11
id的技术实力还在啊,这样的画面能在主机上做到60帧,这让其他开发商感到汗颜。
作者: wing_1_wing    时间: 2011-10-15 17:07
本帖最后由 wing_1_wing 于 2011-10-15 19:35 编辑

回复 九阳神剑 的帖子

潜水,本来不想回,看了你的言论受不了了……。

我是程序员,搞图形。看完全部回复,至少肯定cyrax是搞技术的,而且在关注新兴技术,他分析的几点是正确的。至于九阳,口气很像PM,没任何实质上的东西,一谈到细节领域基本都是别人的话,而且都是质疑没有答案, 完全的在回避,你真有货说个实际的给我看看?

说自己是评委,呵呵~,哪方面的? 您现在是做市场的吧? 上来就谈面试,和XX聊过, 你这种人我也见多了,都是水 - 货。


“呵呵,就你这种水平,面试的时候我见得多了。。。夸夸其谈没一点真格的。(”
这句话原封不动的还给你~。
作者: tripx3    时间: 2011-10-15 17:15
两人看来都是业内, 不用吵了,

卡马克能用以前的老技术, 把画面做成这样, 本来就是高技术的体现.
但是, 时代在发展, 玩家还是喜欢新技术的, 希望卡马克在次世代能搞出叫板CE4和UE4的引擎技术.
作者: wuha1231    时间: 2011-10-15 19:00
看完整篇。。感覺九陽沒什麼實質性東西。。。還自稱vip評委。那你做了些什麼??。另外說別個潑婦罵街,我怎麼就感覺你在罵呢???
作者: dfg6sxs    时间: 2011-10-15 22:00
技术上讲rage是最落后的,和ce3完全没有可比性。画面出众主要靠的美工
作者: dfg6sxs    时间: 2011-10-15 22:00
我分享了 谢谢你们 我学到了很多知识
作者: key39    时间: 2011-10-16 07:23
请不要用嘴来开发游戏。。。。。。。。。。
国内连游戏市场都还没合法化呢,看着这些高谈阔论就感觉很动车;很J-10;很瓦良格。。。。
要是国内都是高手了,EPIC;id;Valve;IW早该破产了。

作者: yaoqi168    时间: 2011-10-16 08:42
本帖最后由 yaoqi168 于 2011-10-16 08:43 编辑

中国原来有这么多搞3D引擎的啊.怎么没能拿个像样的引擎呢
不会是开源引擎拿来搞搞,随便改几个字..想个中文的名字,然后伸手要钱的那种吧
作者: feawea    时间: 2011-10-16 13:34
本帖最后由 feawea 于 2011-10-16 13:35 编辑

VIP,哈哈,Very Ib Player~
作者: mh1    时间: 2011-10-16 13:54
画面真不错  就是玩起来晕  
作者: 武士刀    时间: 2011-10-16 13:56
这帖子看的过瘾,感觉是一线技术人员和行政人员的一次直接火拼!其实用那些引擎做图像处理的又不一定都是开发游戏。
作者: 后弈之子gp5    时间: 2011-10-16 20:31
我个人对主机版的画面比较满意,pc版的没玩过,rage对主机版的优化已经算比较到位了。
作者: tony8585    时间: 2011-10-16 22:09
九阳SB 并且是喜欢IB的狂暴性SB 鉴定完毕
作者: huangboyi    时间: 2011-10-16 22:58
看来我也要浮出水面了,两位都谁啊,抱个名字出来,有机会出来坐坐
作者: lalaphin    时间: 2011-10-17 02:42
key39 发表于 2011-10-16 07:23
请不要用嘴来开发游戏。。。。。。。。。。
国内连游戏市场都还没合法化呢,看着这些高谈阔论就感觉很动车 ...

其实外企做外包的还是可以,比如ubi上海分部开发的分裂细胞:双重间谍,当年就算比较领先的。
作者: izengkyo    时间: 2011-10-17 09:48
lalaphin 发表于 2011-10-17 02:42
其实外企做外包的还是可以,比如ubi上海分部开发的分裂细胞:双重间谍,当年就算比较领先的。

双面特工不是外包的
作者: moonwalk    时间: 2011-10-17 11:23
一开始觉着九阳有理,可是后面看这讲话水平。。。档次够低的
作者: mobiusfr    时间: 2011-10-17 11:45
两位牛人能不能实质性的分析下Rage的东西,写点实现细节索引也帮助我们这些人学习呀。
作者: hp9527    时间: 2011-10-17 11:53
我觉得那位九阳很可能是游戏公司真正的高职领导。
我tm接触过的半懂不懂业务的领导都这样
作者: purer9    时间: 2011-10-17 14:43
cyrax这种人我看见了就恶心。技术上比不过别人光耍嘴皮子有毛用。
吹得NB哼哼,真要比成果却什么也拿不出手。只敢缩在网络游戏论坛里指手划脚
作者: nH_402    时间: 2011-10-18 02:26
主要还是OpenGL和DX方面的不同, 做了5年的游戏开发id Tech 5 已经很费时间了, 游戏明显烂尾了, 总的来说应该是个试水作品. Carmack 这种一直在游戏开发第一线的人而且亲自参与编码的人太少了.  上面说道Rage技术落后, 没办法这游戏开发周期太长了. 5年前当时的主机和当时的PC效能差不多, 要不然为什么要开发主机版呢. Carmack后来都说后悔开发了主机版.
作者: weixiao86    时间: 2011-10-18 10:32
帮人转个回应

“我躺着中枪了。。。07的一篇clipmap介绍被说成误人子弟。这个上纲上线很严重。。。
id tech 5在制作初期的megatexture,确实是使用clipmap绘制地形。
还没有场景物体的megatexture方案。
我隐约记得quake war应该是clipmap版本的magatexture。
公布小一年后,id software更新了megatexture的技术。所谓的megatexture v2.0,
采用了virtual texture,使得地形和物体都可以使用一张超大的贴图。
现在的RAGE就是采用了virtual texture的megatexture方案。
虽然论坛喷子的话不足惧,不过确实07年一篇介绍clipmap的pdf,就被自己说成是
介绍megatexture的文章,不是很妥当。有误导的嫌疑。所以补充一下。
如果谁有帐号也可以转一下。

简单介绍一下virtual texture版本的megatexture

        virtual texture想法很直接:假设屏幕分辨率 1680x1050 。 那么这个屏幕可以显示的贴图图素(texel)数据,最多不过 1680x1050x3 字节。 如果我们把屏幕上要显示的景物,面向屏幕的部分,精确的制作一张贴图,那么这个贴图最大就需要1680x1050x3 = 5MB 。 前提是屏幕上显示的景物,背对屏幕的地方都没有贴图。 如果我们能够实时的创建这么一张贴图来显示场景,我们显卡的贴图用显存只用5MB 就完全够了,哪怕这个世界总共用了1T的贴图容量。
        这种极端的情况用现有的硬件实现起来恐怕不太现实。退而求其次:我们有一些cache做冗余,景物有z方向的重叠绘制,就算6张屏幕大小的贴图,重叠绘制3次,每个像素4字节,那么在这种很差的情况下,我们也就需要120MB 贴图。在次世代游戏显卡上,这个要求不算过分。

        ID TECH5 的megatexture技术就是要实现这个目标。


一,预处理
        在渲染之前,数据制作阶段时,先需要做一些预处理。最重要的一个处理,就是把世界中用到的所有贴图。按照一个固定大小的尺寸,全部切割成方块。这个方块,我们称作“页”(pages)。所有贴图的MIMAP,每一层也都按照这个固定大小切成page。普通MIPMAP一直会缩到1个像素。megatexture的磁盘上的mimap最小只会到固定尺寸大小(page的尺寸)。
        然后把这些pages拼在一起,做成一张超大的贴图。也就是megatexture了。

二,绘制
        接下来绘制。我们做最简化情况的假设,有3步要走:
        1,判断需要哪些pages
        判断屏幕上需要绘制哪些贴图。以及屏幕像素上那个贴图用到的mipmap级别。因为世界所有贴图都以page为单位,拼在磁盘上的一张megatexture里。没法一次性调入显存。要判断出真的需要哪些贴图,以及那个贴图的mipmap级别。才会把需要的那部分pages装载。
        2,装载
        靠streaming把需要的贴图pages装载进来。放入显存的一张实际要使用的贴图(在id software的介绍中叫physical page texture,在本篇文章中叫“显存贴图”。这张显存贴图,是由很多pages 拼凑而成的。
        3,绘制场景物体。
        绘制过程中,在pixel shader中,把屏幕上所有景物的贴图坐标重新换算一下。以便用显存贴图(贴图内容是从磁盘上靠streaming读出来的小块贴图(pages)拼凑而成)来正确绘制场景物体。因为场景中的物体在美术制作时,是按照普通展UV的方式制作的。


绘制3个步骤的具体介绍,再说。。。”
作者: liy41    时间: 2011-10-18 16:36
哟,炸出大鱼来了?
LOL,
多来技术贴,少点火药味。
作者: ruolin    时间: 2011-10-18 22:21
卡马克依然是大佬~~~~~
作者: isadorcj    时间: 2011-10-19 03:22
回复 九阳神剑 的帖子

哼,那你知道寒霜引擎吗? tech5是OPGL, 什么程序员随便做做, OPGL就没有这些API! 你让程序员自己生出来啊?! 寒霜引擎是利用dx11精确计算几何图形以后再贴图,好处就是大量的图片只需要很小的显存就能实现高效果。 至于物理什么的对于tech5更加是幻想了
作者: devileater    时间: 2011-10-19 10:22
key39 发表于 2011-10-16 11:23
请不要用嘴来开发游戏。。。。。。。。。。
国内连游戏市场都还没合法化呢,看着这些高谈阔论就感觉很动车 ...

美术方面 国内确实都是高手。。白人没法比
作者: weixiao86    时间: 2011-10-19 10:36
weixiao86 发表于 2011-10-18 10:32
帮人转个回应

“我躺着中枪了。。。07的一篇clipmap介绍被说成误人子弟。这个上纲上线很严重。。。

续完

“预处理(补充)
        预处理还有一步,忘了说。把所有物体的贴图拼接在一起变为一整张virtual texture(也就是megatexture,本篇继续使用virtual texture的叫法)后,世界中所有的物体都只使用virtual texture这么一张贴图。所以世界中物体的坐标都应该换算一下。
        假设virtual texture是一张2097152x 2097152大小的贴图。 virtual texture左下角贴图坐标为0,0. 右上角贴图坐标为1,1.  根据一个物体贴图在virtual texture中所在的相对位置,用很简单的换算即可得到这个物体新的贴图坐标。
        比如一个物体有一张512x256的长方形贴图。位于virtual texture中从横向第 1048576个像素,纵向第524288个像素开始。这样物体一个顶点的贴图坐标u,v (0<u<1 ,0<v<1)换算到virtual texture中,就是
        u' = (u*512 + 1048576 )/ 2097152 ,
        v'= (v*256+524288)/2097152
        当贴图坐标 u,v<0 或者 u,v>1时,说明使用了纹理 tilling。贴图重复排列。这时的处理,需要在virtual texture中重复复制物体所用到的贴图。 然后把贴图坐标重新换算到0-1之间。再进行virtual texture贴图坐标转换。
        
        
步骤详解
        下面详细解释渲染的3个步骤
        
1,判断要使用哪些page
        page中不仅仅记录了物体原始贴图的某个部分,同时这个原始贴图的mipmap也都切成块当作page储存在virtual texture中。所以这一步骤不仅要找到位于物体用的贴图在virtual texture中的哪个部分,还要判断使用哪个mipmap,这样才能精确定位出物体渲染需要的所有pages。
        大致的做法是这样。我们准备一张virtual texture的浓缩版本。这个浓缩版我们叫它 indirect texture。有的paper叫page table texture 。 我们用中文,叫"页表贴图" 。页表贴图的每个图素,对应着virtual texture中相应位置的page 。图素内容就是对应page在virtual texture中的坐标信息。
        第一遍绘制场景时,所有的几何体都用这么一张固定的页表贴图(page table texture)来绘制。
        详细解释一下:假如我们的显卡显存超大。可以一次性把virtual texture装载下来。那么场景中所有几何体只用绘制一次。用这张virtual texture就可以完成所有绘制任务。因为场景中所有几何体贴图坐标都是转换过的。对应的就是virtual texture的坐标。现在使用一张缩小的页表贴图 (page table texture)。绘制所有景物。想象一下,物体上面的贴图内容,其实就是这个物体所用贴图pages在virtual texture中的位置信息。
        接下来就容易了,得到屏幕上的所有像素。逐一分析。每个像素的信息就是对应物体所用到贴图page的位置信息。 绘制时,我们还可以得到每个像素应该用到贴图mipmap的级数。这个级数也用来定位page的位置。
        分析完毕,我们就有了当前屏幕上所有景物要用到的pages 。我们把本帧需要用到的page,叫“活跃page”
        
        1680x1080 的屏幕上,像素个数是 1814400 个。 每个像素都检查一遍,CPU基本就废掉,不用做其他事情了。 优化的办法是对屏幕buffer做down sample 。也就是缩小屏幕pbuffer尺寸。只检查有限的像素。或者干脆直接在一个分辨率很小的pbuffer上绘制整个场景。诸如此类。
        
2,读入贴图page
        知道要用到哪些page,很简单,就读入进来。其中用到的各种streaming优化,贴图压缩解压缩,就不提了。
        显卡中维护一张真正最后渲染要用到的贴图。我们叫它“显存贴图” (physical page texture)。这张贴图边长是page尺寸的整倍数。读入的page贴图方块,就一个个在显存贴图中拼接起来。拼接的时候每个page周围还需要留条边。 大家都知道显卡最后纹理映射时,有个双线性插值的问题。而且随着物体离镜头越远,用的mipmap不同,对不同mipmap page周围留的边,还有粗细不同的问题。 总之这些零零碎碎的问题充斥着megatexture实现的所有步骤。
        显存贴图(physical page texture)用page填充好之后,就可以最后渲染了
        
3,渲染
        到这个阶段,我们已经实现了megatexture的大部分目标,挑选一帧中能够看到的物体用到的贴图,拼起来。这样我们就实时创建了一张贴图,这张贴图上面只有本帧需要绘制在屏幕上的贴图图素(当然肯定有一些冗余)。
        那么如何绘制? 因为我们用pages拼凑而成的这张显存贴图(physical page texture),即便是相同物体用到的贴图,也都是一个个被切成小方块的page拼凑而成。page与page之间根本不挨着。不同mipmap的page也都并列排在显存贴图里。根本不连续。用这唯一一张贴图去绘制场景所有物体。需要额外步骤。
        纹理映射的原理是根据一个像素的贴图坐标(注意这里是已经被光栅化后的像素级贴图坐标了),去贴图中采样图素(texel)。这个图素的颜色值,经过光照处理,就可以直接显示在屏幕像素上。
        用page拼凑而成的显存贴图(physical page texture)正确显示场景中所有物体,需要对像素的贴图坐标进行一下转换。使得显示在屏幕上物体的每个像素,精确的对应到显存贴图(physical page texture)上它应该对应的位置。
        我们需要一次像素级别的贴图坐标转换。这个任务可以由indirect texture sampler也就是间接贴图采样,即,对一张记录贴图坐标的贴图进行采样,获取最终贴图坐标,来完成这个任务。
        这个记录贴图坐标的贴图,其实就是页表贴图(page table texture)。只不过这次我们使用的页表贴图,内容有些不同。
        我们先定义一下“活跃page”。 活跃page的意思,是说凡是被拷贝到显存贴图(physical page texture)中的page,都要被标记为活跃page。
        在第一步中,我们使用的页表贴图(page table texture)每个像素记录着每个page在virtual texture中的相对位置信息。作用是检测需要哪些page。而在第三步,这个页表贴图(page table texture)需要每帧更新,每个活跃page对应在页表贴图位置的图素内容,要记录这个活跃page在显存贴图(physical page texture)中的位置信息。
        其实,这些内容如果没有图,不太可能光用语言描述清晰。这会在pdf中给出。
        
        以下是过程简述:
        用更新后的页表贴图(page table texture)与显存贴图(physical page texture)共同绘制场景所有物体,在pixel shader中进行一次贴图坐标间接寻址。从页表贴图(page table texture)中得到最终需要采样显存贴图(physical page texture)的贴图坐标。最后场景中的物体就都按照实际需求绘制出来了。
        
4,镜头快速转动与移动时
        经过3个步骤,如果硬盘无限快速,而且显存贴图(physical page texture)的大小能够满足绘制本帧所有物体最大精度贴图。那么我们会看到一个无限大的世界,有着最高贴图精度。流畅地在眼前飘过。
        事实上,没有这么理想的情况。 磁盘速度不可能那么快。显存贴图(physical page texture)有时候并不满足绘制当前镜头中所有物体最大精度贴图的容量。
        这就是我们在实际《RAGE》游戏运行过程中看到的景象。一旦摇动一下镜头,所有物体的贴图都重新回到最模糊,然后慢慢变得精细。这个现象在PS3上尤其严重。PS3的IO是严重瓶颈。理论上就无法保证足够量的精细贴图在一定时间内读入显存。在一个 光驱,硬盘,内存,显存的4级cache系统中,任何一个地方的瓶颈足以毁灭megatexture美好的初衷。这是为什么。
        回顾virtual texture技术的3个步骤。如果磁盘是瓶颈,很多激活page无法从磁盘调入显存。那么显存贴图(physical page texture)就无法在足够时间内拼凑出绘制当前场景所需要的全部贴图page。 怎么办。 这个时候有很多办法可想。 一个最简单的办法是,没有贴图的景物,就绘制个马赛克贴图好了。。。
        当然,商业产品不能这么做。 如果调入高精度贴图来不及,那么就先把最低精度的贴图调入进来。
        如果最低精度都进不来,那么卡帧,让用户休息一下。。。
        从这里看出,megatexture受硬件制约依旧较大。只不过从明确的显存上限,降低到对IO速度的一定要求。
        IO速度对于PC,可能越来越快。对于XBOX360,卡马克爱不释手自然会量身定做。至于PS3,那就算那些买正版的家伙们倒霉了。
        
        另外一种情况,当前帧的场景中物体太多了,所用到的贴图总量,超过了显存贴图(physical page texture)容量。
        很多物体都没有贴图来绘制。自然只能空在那里。解决方案无非就是尽量合理的把场景中物体用到的贴图量控制一下。这里面要解决的工程问题无限多。要自研此技术做产品的人,只能自求多福了。


        还有一个问题。在第一步用页表贴图(page table texture)绘制时,页表贴图是一张完整调入显卡显存的贴图。它是virtual texture的浓缩版。根据page的大小来缩小。一个page相当于这个贴图的一个像素。但是当virtual texture中page数量太多,以至于页表贴图(page table texture)的大小都超标了,这就是个很麻烦的事了。
        我们假设一个page 512x512像素(page大小的制定也有讲究,不细表)。如果想要在页表贴图(page table texture)保持在 4096x4096 大小,那么我们的一张virtual texture最大边长只能是 4096x512 像素。 也就是这张virtual texture最大也就2097152 x 2097152 像素大小。一个像素算4字节。那么最大的一张图容量是 4096 G 。 难道我们与时俱进的玩家就按么容易满足4T的贴图容量么?随着祖国日新月异国富民强,人民群众的审美娱乐需求一日提高,早晚有一天。。。。。。”


作者: purer9    时间: 2011-10-19 12:42
美术方面 国内的都是垃圾。。被白人秒杀的货
作者: kidgemalie    时间: 2011-10-19 14:43
复制党都是**,码字的肯定有点水平,多高的话还的看。。。。。。。。
作者: key39    时间: 2011-10-19 14:47
回复 devileater 的帖子

是审美观不同,
欧美风格和亚洲风格本身就是两码事。。。。。
作者: liy41    时间: 2011-10-21 07:31
好吧,我问句题外话,

CE3的引擎是不是应该最强?

游戏公司为了多平台和考虑大多数PC性能降低了游戏品质?

CRYSIS是不是画面要比那个弹头要好很多?
作者: akasi2000    时间: 2011-10-21 17:36
个人认为还是孤岛2好点·················
作者: sca23023    时间: 2011-10-21 18:05
确实让人眼前一亮啊~~~~~~~
作者: liy41    时间: 2011-10-22 02:29
akasi2000 发表于 2011-10-21 17:36
个人认为还是孤岛2好点·················

孤岛2感觉就是FEAR COD 德军总部09 和孤岛1的大合集- -

玩孤岛就要热带,蓝天白云碧海- -
作者: ak8383    时间: 2011-10-24 14:26
两程序猿打起来了……




欢迎光临 A9VG电玩部落论坛 (https://bbs.luryl.com/) Powered by Discuz! X3.4