我移植一个游戏引擎,在不同的平台(Windows,iOS版,剧本,BB10,Android的)完美地工作,以氯化钠氯化钠GL错误:GL_INVALID_OPERATION
2D正确呈现,但一些3D对象不显示或有呈现真奇怪,我得到以下con
[.PPAPIContext]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : BackTexture::AllocateStorage: <- error from previous GL command (index):1
[.PPAPIContext]GL ERROR :GL_INVALID_OPERATION : glVertexAttribPointer: stride not valid for type (index):1
[.PPAPIContext]GL ERROR :GL_INVALID_OPERATION : glVertexAttribPointer: offset not valid for type (index):1
[.PPAPIContext]GL ERROR :GL_INVALID_OPERATION : glDrawElements: attempt to access out of range vertices in attribute 0 (index):1
[.PPAPIContext]GL ERROR :GL_INVALID_OPERATION : glVertexAttribPointer: stride not valid for type (index):1
[.PPAPIContext]GL ERROR :GL_INVALID_OPERATION : glVertexAttribPointer: offset not valid for type (index):1
[.PPAPIContext]GL ERROR :GL_INVALID_OPERATION : glVertexAttribPointer: stride not valid for type (index):1
[.PPAPIContext]GL ERROR :GL_INVALID_OPERATION : glVertexAttribPointer: offset not valid for type (index):1
[.PPAPIContext]GL ERROR :GL_INVALID_OPERATION : glVertexAttribPointer: stride not valid for type
它重复无限期。
再一次,相同的渲染代码用于不同的平台,它工作得很好。在移植到NaCl时是否需要考虑特殊的考虑因素?关于我应该关注什么以寻找问题的任何想法? 据我所知,着色器0(顶点着色器)有一个问题,实际上一些对象的顶点都在这个地方。
谢谢! :)
您可能会遇到平台的内部数据类型与GL typedefs大小不同的情况。例如,'GLushort'保证**总是**为16位,而C中的'unsigned short'不是。如果您列出了用于调用'glVertexAttribPointer(...)'等的代码,这将有所帮助。 –