CSDN博客

img sssxueren

ZLib2000 即时光影

发表于2004/10/9 0:21:00  731人阅读

ZLib?这个和ZIP的那个ZLib不是一个东西的:)

这是我们在99年制作的一个游戏底层,

即时光影,看到Diablo2想到的,对于每个人物来说,增加Z轴的信息,那样就可以通过x、y、z 3个坐标来计算其明暗度,可以实现真实的光影效果

从图上看的话,就是裙子这些最突出的地方,被下面的光最小照亮

下面是当时的说明文档:

基于Z缓冲的光影演示

ZIP 包 67K

方向键、ESC键

这是我写的基于Z缓冲的光影演示的第二个演示,主要是想达到Diablo II那样的效果,这还是最基础的运用Z缓冲。

和上一个区别不是很大。

目前,诸如多光源、多色光(每个光源的颜色都不同)基本上都可以实现了,只是还有些BUG,所以就没有拿出来;怎么做基本上都已经了解了,虽然和我当初设想的不太一样,但应该是没什么太大的问题的。

这几天恐怕没什么时间写了,过些日子再说吧。

处理Z缓冲的代码是用C写成的,简单的将平方和开方用查表来计算。应该还有大幅优化的余地。

实际上还有很多地方我认为无法解决,譬如高出的椅背应该会挡住一部分的光,但目前无法实现,分成两个部分来解决一定会很耗资源,而且这么小的地方相当不划算,好在实际使用中不一定会用到这种东东。

希望能和大家探讨一下!

特别感谢云风提供的RLA解码代码。

阅读全文
0 0

相关文章推荐

img
取 消
img