gpt4 book ai didi

android - 将 int 数组转换为 Android OpenGL ES 1.0 的 intbuffer?

转载 作者:太空宇宙 更新时间:2023-11-03 10:54:34 36 4
gpt4 key购买 nike

我最近在 Badlogicgames.com 上阅读了一篇关于加速将信息添加到顶点缓冲区(或任何其他 intbuffer)的过程的文章,它确实提高了我的项目速度,但我不太明白

"Noticing the IntBuffer.put( int[] src ) was not affected by the problem"

声明....如果不需要 float ,是否可以将 int[] 数组馈送到 IntBuffer 中以提高速度?每次我尝试将 int[] 放入缓冲区时;没有渲染...

这是我目前使用的一个例子:

dMesh[i].putVertexBuffer(coords); //function being called

public void putVertexBuffer(int[] input) //actual function
{
ByteBuffer tC = ByteBuffer.allocateDirect(input.length *4);
tC.order(ByteOrder.nativeOrder());
_vertexBuffer = tC.asIntBuffer();
_vertexBuffer.put(input);
_vertexBuffer.position(0);
}

现在,如果 int 数组“coords”填充了使用“Float.floatToIntBits(float value)”转换为整数的 float 变量;这很好......但是标准整数数组没有显示任何东西......但是,如果我只有一个 float[] 数组并将“asIntBuffer()”更改为“asFloatBuffer()”,这可行吗?我很困惑。是否需要转换?提前感谢任何提供见解的人。

快速编辑:我差点忘了......这是我引用的文章: http://www.badlogicgames.com/wiki/index.php/Direct_Bulk_FloatBuffer.put_is_slow

最佳答案

当您尝试使用整数时,您是否也更改了使用数组来使用整数而不是 float 的代码?我在这里遇到了各种各样的问题。

我之前的问题/答案可能有帮助 - 它在这个区域:

Passing java.nio.IntBuffer to C function in an Android game

关于android - 将 int 数组转换为 Android OpenGL ES 1.0 的 intbuffer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7770166/

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