gpt4 book ai didi

java - ByteBuffer.allocateDirect().asFloatBuffer() 与 BufferUtils.createFloatBuffer()

转载 作者:行者123 更新时间:2023-12-01 22:55:26 25 4
gpt4 key购买 nike

我刚刚解决了一个错误,但我不知道为什么。在 LWJGL 中创建 4x4 投影矩阵,用于顶点着色器..

该行会导致问题。它会默默地失败,并且着色器中的 mat4 被卡为全零(就好像它从未被写入一样)。

FloatBuffer mProj = ByteBuffer.allocate(4*16).asFloatBuffer();

这按预期工作。

FloatBuffer mProj = BufferUtils.createFloatBuffer(16);

作为健全性检查,我确认我的 float 为 4 个字节。那么有什么区别呢?

最佳答案

唯一difference这两者之间可能是字节顺序。您可以将其设置为

FloatBuffer mProj = ByteBuffer.allocate(4 * 16).order(ByteOrder.nativeOrder()).asFloatBuffer();

关于java - ByteBuffer.allocateDirect().asFloatBuffer() 与 BufferUtils.createFloatBuffer(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24131077/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com