演绎3D神话!177K程序渲染末日灾难片
1/30
世界各地著名的Warez组织定期会推出一个体积超小的动画片——仅仅是用来炫耀其实力——这就是著名的64K 3D动画。要知道,一首普通的MP3通常就有4000K左右,一张普通的JPG图片也要30-40K,而这个仅有64K的3D动画,有你花十几分钟也看不完的实时动画,而且还伴随着丰富的背景音乐!2/30
程序启动后刚开始要Loading好一会,应该是实时生成纹理数据。砖墙的纹理贴图细致入微。
DEMO的核心,其实就是压缩和解压缩算法,你看到画面最初始的时候那个进度条了吧,那其实就是个解压缩的过程,这些程序都是自解压的。要达到这样的效果,这些程序通常都要求用汇编语言编写,因为只有汇编语言才能达到这样最优化的效果,充分发挥硬件的威力。另外DEMO往往要进入一个特殊的绘图模式,这个模式称为X模式。刚刚看到的那些非常炫的3D效果,其实都是针对显卡进行实时编程,只有这样才能极大地节省体积。3/30
整个Demo场面宏大场景丰富,不过其他楼房的纹理还是比较简单。只要拥有一款支持DX9的显卡就能运行该Demo,最低要求是X1600和7300GT。不过千万别小瞧了这个小程序,它消耗显卡资源还是十分可怕的!4/30
由于程序所有场景都是实时生成的,因此内存占用十分夸张,一开始就会占用1GB内存,随后增加至1.5GB左右!能将1.5GB数据“压缩”为177KB,其技术令人非常震惊!5/30
该程序非常在意动态效果,通过切换视角和物体运动来反映各种特效。
实际上是这样的, 小组的程序员用他的业余时间(也可能是工作时间)写一个程序框架, 用来同步显示和音乐, 当然, 包括特效的部分. 这样一个程序通常由汇编, C/C , Pascal等写成, 然后为了Demo运行的更流畅, 一些代码要用汇编重写. 最后, 手绘的图形, 美妙的音乐通过精心设计的代码组合起来, 又一个Demo出现了!这是Demo的编程部分. 图形部分当然由美术家来完成. 美术家的工作包括3D建模, 贴图制作(这通常是一件逐象素的描绘工作), 设定虚拟摄像机的运行路径以供程序员使用之类. 音乐家将完成音乐的创作和制作. 大多数情况下,这是一种叫做Module的音乐,使用一种叫Tracker的程序完成. Module与MIDI有点类似, 但Module使用自己的乐器采样而不像MIDI使用的是声卡或软波表的乐器, 因此Module可以在所有硬件平台上获得同样的播放效果,而且, 文件却很小巧. Moudule允许对声音完全的控制, 对应着, 制作的难度水平. Module文件后缀通常为mod, stm, s3m, it, xm之类, 这些格式的音乐大都可以用Winamp来播放, 但有更专业的Module播放器如: ModPlug Player(Tracker/Plugins too)等等. 另外, 越来越多的6/30
177K3D程序截图超现实领导魔块破碎的过程。
调用Opengl或者DX。精心的编写代码和数据。然后做一个类似UPX的压缩壳。压缩容量。
简单地说就是生成技术,包括纹理,模型,音频采样都是由少量参数计算生成的,很有规律性,所以一般只能演示抽象,自然的动画.
汇编几乎没必要,即使有一点,内嵌到VC里就足够
也些也用专用的Loader.根据自身的特点,定制一个压缩方案。来达到最佳的压缩效果。
177K的动画,原理并不高深,不过真的要做还是有一定的难度。
动画无非就是调用opengl或者Dx来画点线面和贴图。64动画里面的贴图都是很简单的。有些甚至没有贴图。比如我要画一个房子。就几行代码。
伪码类似下面:
GLBegin(GL_PLOY)
Vertex(x,x,x)
Vertex(x,x,x)
Vertex(x,x,x)
GLEnd 7/30
破碎后的立方体向流体一样在运动,突出逼真的物理效果和HDR两大特效。
其实看起来特殊形状的物体也是靠技巧用少量数据生成的.
模型都是一些基本形状(方形,球形,四面体等)用sin,cos等函数变换一下顶点坐标就能把模型复杂化,运气好就能得到像样的模型.纹理也用简单的p=f(x,y)函数算出来每个像素的颜色值.不同纹理直接再融合一下就能变出很复杂的纹理.音频采样也是同样道理.几个函数的代码量当然比几幅纹理的数据量少得多.8/30
立方体碎块和立交桥交叉运动,场面越来越复杂!9/30
碎片进入地下通道10/30
立交桥也变的有生命体征11/30
蜿蜒爬行的钢管和碎块。12/30
纹理虽然简单但已经突出了物体特征。13/30
像蛇一样的交错运动,FPS开始变得比较低了14/30
整个一座钢架桥和传说中的龙一样飞行15/30
HDR效果渲染比较到位16/30
犹如恶魔降世,刹那间风云变色,日月无光。17/30
一种神秘的力量将所有无机体变成生物18/30
听从神秘的召唤,有秩序的在城市中迁徙。19/30
大厦的灯光依然通明,却不见半个人影,在宏伟的背景音效中,场面壮观而诡异。20/30
在这个程序中,创造者犹如上帝。21/30
可以支配一切物质的上帝。22/30
肆意的创造或者摧毁事物。23/30
夜色让一切变得更加神秘莫测。24/30
最后场景中的建筑物也露出了庐山真面目,整个过程还算比较逼真。25/30
可以看到一些模型的几何和纹理构成。26/30
“上帝”创造了一切,自然有能力摧毁一切。27/30
天空出现塌陷,世界末日即将来临。28/30
无论谁处在这样的环境中,应该都已经目瞪口呆了。29/30
静态物体基本湮灭,只剩下之前的立交桥还在垂死挣扎。30/30
最终物质能量大转换,大地也化解为原始的能量形态,西方人意识形态中的天荒地老显然更加科幻。而这个短片是否应2012末日传说而生?作者又是想昭示些什么呢?
只是一个小程序而已,看完震撼的3D场面,最后值得一提的是,该程序的背景音乐也非常不错,最然程序小的可怜,但场面大的出奇,天马行空的创意给笔者的造成了强烈的视觉震撼!细节部分的纹理贴图、阴影以及HDR、物理效果都很出色!