0

我正在使用 Flare3D 制作一个 Flash 游戏,当我加载一个新场景时,它给了我这个错误:

Error: Error #3691: Resource limit for this resource type exceeded.
    at flash.display3D::Context3D/createIndexBuffer()
    at flare.core::Surface3D/upload()[Z:\projects\flare3d 2\src\flare\core\Surface3D.as:237]
    at flare.core::Mesh3D/upload()[Z:\projects\flare3d 2\src\flare\core\Mesh3D.as:130]
    at flare.core::Mesh3D/draw()[Z:\projects\flare3d 2\src\flare\core\Mesh3D.as:335]
    at flare.basic::Scene3D/render()[Z:\projects\flare3d 2\src\flare\basic\Scene3D.as:593]
    at flare.basic::Scene3D/enterFrameEvent()[Z:\projects\flare3d 2\src\flare\basic\Scene3D.as:461]

我从错误中猜测它正在运行某些东西,但我不知道 Context3D.createIndexBuffer() 做了什么。由于flare3D 不是开源的,我无法在那里挖掘任何线索。

所以我想知道:什么是 Context3D IndexBuffer,什么可能让我用完该资源类型?

请不要只链接到这些课程的 ASDocs,我已经看过了,但他们没有回答这个问题。

4

1 回答 1

1

我可能是错的,但我猜他们谈论的是在 OpenGL 和 DirectX 中使用的相同索引缓冲区。它们是整数数组,是顶点数组的索引,因此在绘制多个共享顶点的多边形时,您不必每次都指定整个顶点。

这是一个比较好的解释: http: //openglbook.com/the-book/chapter-3-index-buffer-objects-and-primitive-types/#toc-enter-index-buffers

我对 Flare3D 一无所知,但是您的场景是否有可能有太多复杂的网格并且索引缓冲区的内存不足?

于 2012-04-25T23:27:30.117 回答