Pixomatic Rendering Technology

为什么需要Pixomatic?

在这一页,我们谈谈为什么我们写一个软件光栅化和为什么您应该考虑为您的游戏获得授权的一些原因!

我的天,为什么你要麻烦去写一个3D软件光栅化引擎?

换个角度来考虑: 在这个3D加速器已经这么强大的时代,为什么有人自愿选择去使用Pixomatic且倒回到软件光栅化?

有一些原因,但是最大的原因是,Pixomatic将console编程中好的部分带到PC。

当您使用Pixomatic,您只有一个特性集;您只有一个API;您只有一个驱动;并且您只有一个目标硬件,尽管那个目标硬件能够在不同的时钟速度下运行。 更好的是,硬件特征在未来肯定不会做什么改变,您用您所开发和测试的同样的图形系统软件和驱动进行发布,因此您也无需做任何改变。

如果您编写一个console游戏,它支持几种不同时钟速度,但是总是有相同的图形硬件和系统软件。 就像任何console程序员都可以告诉你, 这极大地简化了生活,释放您的精力,将它们放在比处理不断改变的PC图形世界的复杂性更有价值的事情上。

并且您的软件会运行在每一台PC上。

因此Pixomatic 只是像在编写一个console?

从提供一个可靠的平台的角度来说,是的,但我们不会尝试去误导您 - 软件光栅化比当代的console和PC地3D卡要慢得多,且提供少一些的图形功能特性。 在我们写这份文档的时候,Pixmatic 大概比最前沿的console和PC图形卡要慢一个数量级(虽然比大多数以前的console要快,也总体比第一代PC3D硬件要强大),并且支持DX7级别或DX9级别pixel shading。 如果你有4光源且每光源6通道,或者屏幕上到处都有多层alpha - 简单来说,如果你需要像最新的GeForce 或 Radeon那么强大的任何事情 - 那么Pixomatic不适合你。

如果,在另一方面,你正在做一个游戏,它需要或者说会从3D中受益,但是并不需要超越极限,那么Pixomatic 真的可以满足你的需求。 这是一个包含了很多游戏的类别,包括实时策略游戏,模拟类,不尝试做最好的图形效果的第一人称游戏(Quake II在Pixomatic上运行得非常好,所有功能都可用,因此肯定是可能做可信的但不是最前沿的第一人称图形), 以及许多棋类策略游戏。

因此Pixo能用,但是硬件更快且免费?

对的,Pixomatic能够做很多游戏,但是当硬件更快且免费的时候,为什么它不会更好呢? 答案在于两个方面 - 市场大小和PC图形基础结构的复杂性 - 这两者一起导致硬件光栅化根本不会免费。

系统软件,驱动和PC硬件的噩梦般的开发,测试和技术支持成本矩阵是Pixomatic存在的单个最大的原因。 有两个图形API,每个都有频繁的修订 - 当一个修订为一个app被安装时,它对于使用那个API的所有app都是全局可用的。有几个主要的图形硬件厂商,每个厂商又有很多的芯片和主版变化。 可能最糟的情况是,有一个驱动程序更新固定的流动,每一个都有自己的bug修复同时也会带来最新的bugs,在安装后,这再次变为对全部app都是全局使用的。为了使用PC图形硬件,你不得不去处理在不同配置间的图形和性能差别,与围绕那些bug工作, 最后你的软件似乎还是运行得有问题因为它不可避免地会运行在那些从来没有被测试过的硬件和软件上。

使用Pixomatic,相反,它的特性集是不变的,并且和性能分开,只有一个测试平台。 甚至关于性能,你不得不去调节的范围也远小于使用硬件的情况;从一个PIII/500 到 一个P4/3000 是大概一个1:4的性能比例,比调节从一个4年前的图形卡到一个最新最前沿的卡之间的性能范围要小得多。

使用Pixomatic,一些常见的烦恼也消失了。举例来说,再没有了纹理管理的问题,因为纹理被保存在系统内存中。也没有了当纹理被修改或删除时相关的同步问题,因为Pixomatic总是同步的。 任何时候你都可以自由地读取颜色和z buffer而没有性能损失。

所以开发被简化了,测试被简化了,技术支持也永久地被简化了 - 你的游戏将运行在任何x86兼容的Windows或支持MMX的Linux机器。 那包括了自1997年被卖出的很多Windows或Linux电脑,包括了所有P4,PIII,Celeron,Athlon, and Core Solo, Duo 和 Quadro CPUs - 可以说是每个Windows或Linux机器,它们被一些可能花钱买新软件的人所拥有。

就像我们所说的,如果你需要硬件的完全能力来让你的游戏看起来就是你想要的,那你需要硬件 - 无需争论。 但如果你的游戏只需要看起来像在Pixomatic上运行的那么好,那选择Pixomatic的好处是非常大的。

如果我的游戏需要硬件来让它效果最好,为什么我应该关心Pixo?

即使你真的需要硬件来让你的游戏看起来效果最好,你还是会发现Pixomatic是有用的。 一个是,如果你能够倒回到软件光栅化,它能帮助销售,很简单的原因是它增加了能够运行你的游戏的电脑数量。 对于那些不管因为什么原因导致硬件无法工作的情况,它同样也是很大的一个加分;这会帮助技术支持和避免收回。 应用这个在一个最前沿的游戏需要一点工作,因为在通过Pixomatic绘制的时候,游戏不得不被配置为降低光栅化需求(低LOD,简单一点的纹理,简单点的着色,低一点的分辨率), 但是那并不难,而适度的时间和必需的努力的回报将会惊人的高。 (除此之外,如果你像在更老和更低的3D硬件上运行游戏的话,你可能会不得不做大部分的工作。) 如果你认为一个深入使用3D硬件的游戏不大可能从Pixomatic受益的话,或许你应该重新考虑一下了:Epic已经将Pixomatic合并到他们的很强大并广泛使用的Unreal Tournament 2004 引擎里了。

而且,你可以使用Pixomatic来渲染硬件下来会使用的纹理。这避免了复杂性和硬件的延迟,有时候当使用硬件来渲染到纹理时会导致问题; 如果你被渲染所局限,它也能加分,通过卸载一些渲染工作到CPU从而让你得到更多的协同处理。

最后,你可以使用Pixomatic来渲染你的场景中的静态部分的深度值 - 或可能是大构造三角形 - 到一个相关的低分辨率z buffer,后面是场景中移动物体的绑定盒的深度值,使用可视性测试功能来看是否每个绑定盒的任何部分是可见的。 任何时候当一个对象的绑定盒没有通过,你能够跳过发送该对象给3D硬件,因为它完全是被遮挡的。(一些像素可能事实上是可见的,这种情况也是可能的,这是由于使用了低分辨率的z buffer,但是那在一个实时3D场景中基本上都是不会被注意到的。) 这能够相当地帮助在一个具有如此多的高细节模型的复杂场景,那些模型会压倒硬件的三角形处理能力,但是很多的模型是被隐藏的 - 比如,一个街区模型的城市场景中,大多模型都会被临近的建筑挡住了。

So,总结一下...

简明扼要来说,“Why Pixomatic?”的答案是:如果软件光栅化满足了你的所有需求,Pixomatic会简单得多,而且比3D硬件加速要可靠得多, 让你可以继续去做其它比和驱动程序更新、硬件兼容性、系统软件bug、以及所有其它PC硬件基础架构复杂性做斗争更有益的事情。 简单而已,Pixomatic是一个高效地并且有成本效益的3D解决方案。

其它答案是如果你的游戏的确需要3D硬件来看起来最好,使用Pixomatic作为一个后备渲染器将会使您销售更多的拷贝,降低技术支持成本,同时有更少的游戏因为硬件和驱动程序问题被退回。

总之,如果它满足了你的需要,Pixomatic 能够为你赚钱