开启face,front和back贴不一样的

解决方案 »

  1.   

    你如果texture的图比较少的话 直接用个bitmap的array 然后一个面一个面的bind进去就好
    OpenGL的java教程也不少 你看了AndroidGL里面的code了么?
      

  2.   

    还是没怎么明白,怎么一个一个bind进去呢,我图片有6张
      

  3.   

    还是不怎么明白,textureID都是int型的,bind也要求是int型的,我怎么放bitmap型的呢
      

  4.   


    int i[] = new int[6];
    // 创建纹理
    gl.glGenTextures(0, i, 0);
    // 设置要使用的纹理
    gl.glBindTexture(GL10.GL_TEXTURE_2D, i[0]);
    ByteBuffer b = ByteBuffer.wrap(getBytesFromBitmap(images[0]));
    //生成纹理
    // gl.glTexImage2D(GL10.GL_TEXTURE_2D, 0, GL10.GL_RGB, images[0].getWidth()
    // , images[0].getHeight(), 0, GL10.GL_RGBA, GL10.GL_UNSIGNED_BYTE, b);
    GLUtils.texImage2D(GL10.GL_TEXTURE_2D, 0, GLImage.oneBitmap, 0);

    // gl.glTexParameterx(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MIN_FILTER, GL10.GL_LINEAR);
    // gl.glTexParameterx(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MAG_FILTER, GL10.GL_LINEAR);
      

  5.   

    在绘制立体的每面之前选择要贴的纹理
    gl.glBindTexture(GL10.GL_TEXTURE_2D, textures[0]);
    gl.glEnableClientState(GL10.GL_TEXTURE_COORD_ARRAY);
    gl.glTexCoordPointer(2, GL10.GL_FLOAT, 0, texCoordsBuffer);
    ... 绘制四边行