相关疑难解决方法(0)

Android OpenGL2.0显示黑色纹理

我试图在OpenGL2.0中将纹理绘制到四边形上.到目前为止,我得到了四边形和一切,但纹理不存在 - 四边形都是黑色的.

我的主要怀疑是我没有正确地映射纹理 - 我的纹理不是2的幂,它们也不是正方形 - 它们的宽度在字段mWidth中,它们的高度在mRowHeight中.

四边形绘制在垂直列表中,使用转换矩阵完成.

如果有人能够解决这个问题我会非常绝望,我将非常感激!

这是相关的代码:

初始化缓冲区:

    void initBuffers() {
        float r = (float) mRowHeight / (mHeight / 2f);
        ByteBuffer bb;

        float[] bounds = { // X Y Z
        /* 0 - TL */-1f, 1f,    0f, 
        /* 1 - BL */-1f, 1 - r, 0f, 
        /* 2 - BR */ 1f, 1 - r, 0f,
        /* 3 - TR */ 1f, 1f,    0f };
        bb = ByteBuffer.allocateDirect(bounds.length * 4);
        bb.order(ByteOrder.nativeOrder());
        mVertBuffer = bb.asFloatBuffer();
        mVertBuffer.put(bounds).position(0); …
Run Code Online (Sandbox Code Playgroud)

mapping android textures opengl-es opengl-es-2.0

8
推荐指数
1
解决办法
6313
查看次数

标签 统计

android ×1

mapping ×1

opengl-es ×1

opengl-es-2.0 ×1

textures ×1