问题标签 [floatbuffer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
4170 浏览

java - 确定 FloatBuffer 中的元素数量

FloatBuffercapacity()告诉我们最大容量的方法FloatBuffer。但是,它并没有告诉我们该缓冲区中有多少元素。那么如何确定 a 中的元素数量FloatBuffer?我正在尝试确定我FloatBuffer的已满还是部分满。

0 投票
2 回答
3865 浏览

java - 从浮点缓冲区转换为字节[]

我正在尝试找到一种在 java 中使用 jack-audio 的方法。我已经设法创建了基于 jnajack 的包装器,以从插孔的端口获取音频到 java 应用程序(原始的 jnajack 不适用于插孔 1.9.8),但我找不到操作数据的方法。我开始了List<FloatBuffer>,为了进一步的数据操作,我需要将其转换为byte[].

简而言之...首先我想将数据保存到文件中,但据我所知,java sound api 只能保存来自TargetDataLineand/or的数据byte[]。我怎样才能转换FloatBufferbyte[]?我能找到的唯一方法是以floatbuffer.get(float[])某种方式(不知道如何)转换float[]byte[].

0 投票
3 回答
4537 浏览

java - Java FloatBuffer 大小错误 OpenGL

使用 LWJGL 的 OpenGL 实现,并尝试使用照明功能。这需要创建 FloatBuffers 以传递给 OpenGL。相关代码如下:

我对 glMaterial 的第一次调用给出了以下错误:

线程 "main" java.lang.IllegalArgumentException 中的异常:剩余缓冲区元素的数量为 0,必须至少为 4。因为最多可以返回 4 个元素,所以需要一个至少包含 4 个元素的缓冲区,而不管实际返回的元素是多少数数

不太确定我在这里做错了什么,似乎是创建 FloatBuffer 的问题。

0 投票
0 回答
269 浏览

android - 使用原生 C/C++ 提高 FloatBuffers 的性能

我正在编写一个 OpenGL ES 2.0 引擎并使用 FloatBuffers,但我听说 FloatBuffers 在 Android Froyo 上速度很慢,而在 Gingerbread 上速度则适中。

所以我想知道的是,是否可以使用本机 C/C++(Android NDK)创建和编辑缓冲区。

它真的能提高性能吗?

必须包含哪些标题?

0 投票
1 回答
653 浏览

java - 为 ByteBuffer 分配 android OpenGL ES 制作一个辅助函数

ByteBuffer每次我需要执行以下操作时为顶点、颜色、照明等分配内存。

所以我尝试制作一个类似这样的辅助函数。

但它没有用。它给了我一个java.lang.NullPointerException指向 gl.glVertexPointer(3, GL10.GL_FLOAT, 0, vertBuff);voiddraw(GL10 gl)方法内部的来源。

0 投票
1 回答
273 浏览

java - FloatBuffer 和 3D 图形

我一直在寻找初学者解释什么是 floatBuffer 以及它与 3D 编程的关系(特别是用于 Java 的 LWJGL)。看来我必须将它用于照明和广告牌之类的东西,但我不完全理解它的目的或它是什么,有人可以提供解释吗?

0 投票
1 回答
2145 浏览

android - 如何更改 FloatBuffer 的内容,保持性能?

我试过使用

但是当我处理 200 多个方块时,所有方块都有不同的纹理坐标,每帧都会更新,我的 fps 急剧下降,游戏变得太远而无法流畅。

y 认为 badlogicgames.com 上提到的方法,关于,而不是使用 floatbuffer,使用 intbuffer,但是,是同一件事,在缓冲区的“放置”方法时等于慢。

那么,我怎样才能以最佳性能更新我所有的浮动缓冲区呢?

编辑:我已经解决了我的问题,“put”方法本身并不慢,问题是当为每个浮点缓冲区初始化一个新的浮点数时,而不是那样,我只是更改浮点数组中包含的每个元素的值避免了许多 GC 活动.. 我认为。

0 投票
1 回答
635 浏览

android - OpenGL ES Android 混淆

我正在通过这个网站学习适用于 Android 的 OpenGL ES:http: //www.learnopengles.com/android-lesson-one-getting-started/

有两点没看懂。。。

这段代码究竟做了什么:

这些“缓冲”的东西是什么,浮点数总是有四个字节吗?我不太确定为什么需要上面的代码。作者解释了它,但我不确定他的意思。

谢谢!

0 投票
1 回答
4986 浏览

android - Android 使用 float[] 作为顶点导致 OpenGL 错误 0x502

我正在尝试在 Android 上的 OpenGLES 2.0 中为我的顶点使用浮点数组,而不是 FloatBuffer,但是当我这样做时,glDrawArrays 会给出错误 0x502 或 GL_INVALID_OPERATION。

我没有收到此错误,并且当我使用 FloatBuffers 时一切正常。

我读过这个错误通常是由未设置的程序引起的。我只使用一个着色器程序,并在一切初始化时设置它。

这是我的代码

此代码工作正常,没有错误

相关的 GraphicsEngine 代码在这里

我不想使用 FloatBuffers,因为它们比浮点数组更慢。

0 投票
2 回答
3101 浏览

java - 结合 ByteBuffer 和 FloatBuffer

有没有结合 ByteBuffer 和 FloatBuffer 的好方法?例如,我获取byte[]数据,我需要将其转换为float[]数据,反之亦然:

byte[]float[](java.lang.UnsupportedOperationException):

float[]byte[](作品):