我刚解决了一个错误,我不知道为什么。在LWJGL中创建一个4x4投影矩阵,用于顶点着色器..
此行会导致问题。它以静默方式失败,着色器中的mat4
被卡住为全零(好像从未写过)。
FloatBuffer mProj = ByteBuffer.allocate(4*16).asFloatBuffer();
这可以按预期工作。
FloatBuffer mProj = BufferUtils.createFloatBuffer(16);
作为一个完整性检查,我确认我的花车是4个字节。那么差异是什么?
答案 0 :(得分:3)
这两者之间唯一的difference是可能字节顺序。您可以将其设置为
FloatBuffer mProj = ByteBuffer.allocate(4 * 16).order(ByteOrder.nativeOrder()).asFloatBuffer();