我在LibGDX中有一个亮度图。我使用ByteBuffer加载我的像素,效果很好。
Gdx.graphics.getGL20().glPixelStorei(GL20.GL_UNPACK_ALIGNMENT, 1);
Gdx.graphics.getGL20().glTexImage2D(GL20.GL_TEXTURE_2D, 0, GL20.GL_LUMINANCE, overviewBlock.getWidth(), overviewBlock.getHeight(), 0,
GL20.GL_LUMINANCE,
GL20.GL_UNSIGNED_BYTE, overviewBuffer);
但是,我无法理解字节如何转换为GLSL中的浮点数。对于基于整数的颜色,写入ByteBuffer就像魅力一样。但我不知道如何用单字节颜色来做这件事。
buffer.put((byte)255);
如果我没弄错的话,这不会导致GLSL / OpenGL中的1.0值。获取GLSL中0到1.0之间的值的正确方法是什么,比如说整数范围为0 - 255?
答案 0 :(得分:0)
我正在使用buffer.write((byte)(整数& 0xff))按照评论的建议编写我的字节。