纹理问题

时间:2014-09-30 16:16:13

标签: opengl libgdx lwjgl

我对纹理有点麻烦。我正在编写一个处理来自二进制文件的原始数据的程序,执行一些FFT(使用JTransform),将数据缩放到单个带符号的字节,然后显示它。除了显示器外,一切都很顺利。

内存中的数据是512 x 500 byte[],应该在512 x 500纹理上呈现。使用LIBGDX,我执行以下操作:

  1. 创建Actor
  2. 的子类
  3. 创建512 x 500 Texture
  4. 使用步骤2中的Sprite
  5. 创建Texture
  6. 在演员' draw方法,我使用以下代码:

    @Override
    public void draw(Batch batch, float parentAlpha) {
         super.draw(batch, parentAlpha);
         Gdx.gl.glTexImage2D(GL20.GL_TEXTURE_2D, 0, GL20.GL_LUMINANCE, 500, 512, 0, GL20.GL_LUMINANCE, GL20.GL_BYTE, data);     //Data is a byte[]
    }
    
  7. 问题:屏幕只显示一小部分数据。看来Texture实际上已放大并且仅显示大约20 x 20像素

    我尝试过的事情并没有奏效:

    1. 更改Stage相机以查看它是否是相机剪裁问题
    2. 缩放Sprite以查看它是否是相机剪裁问题
    3. 使用glViewport查看是否是相机剪裁问题
    4. 使用0和1填充呈现的byte []以确保它不是数据处理问题
    5. 在我的手机和两个桌面上测试它是否是一个奇怪的视口问题
    6. Google和StackOverflow
    7. 没有任何效果,帮助!

0 个答案:

没有答案