最终,papervision3d (流行的Flash 3D渲染包)如何将转换后的纹理绘制到屏幕上?
它是否在内部使用Flash的任何渲染设备--即通过将纹理绘制到DisplayObjects中并将其转换,或者使用3D MovieClips?或者是过滤器?还是它最终只是从纹理中读取像素并将它们绘制到输出中,就像在任何软件平台中一样?
我之所以这样问,是因为简单的答案是后者,但经过一些测试后,似乎getPixel和setPixel对于这种方法来说还不够快,所以看起来肯定会有更神秘的事情发生。
谢谢你提供的任何信息!
编辑--我对答案的总结--:Papervision本身不做透视转换。它只对纹理的每个三角形进行缩放和倾斜变换,如果使用足够的三角形,则会产生透视错觉。仿射变换利用Flash的渲染设备,因此避免了代价高昂的像素操作。
发布于 2009-05-16 16:17:49
所有这些都是使用绘图API呈现的。(lineTo)使用绘图API,您可以设置一个比颜色更高的bitmapFill比率,它允许您绘制纹理。在内部,它们将您作为纹理传入的每个资产转换为BitmapData对象,以便在呈现时使用。然后,为了永远细分(三角形),你的3D对象,他们预先对它进行转换,以获得正确的视角。
这种方法仍然是非常密集的处理器,但比设置每个像素更快。它的工作原理非常类似于其他3D渲染软件,使用了专门为ActionScript构建的smae技术和理论。
https://stackoverflow.com/questions/872387
复制相似问题