Android 在平面上包裹两个纹理?

Android 在平面上包裹两个纹理?,android,opengl-es,mapping,textures,Android,Opengl Es,Mapping,Textures,如何在平面上包裹两个纹理?我想是我做的,但是纹理填充了整个物体,而不仅仅是我想要的条子 谢谢你的帮助 ~Aedon 我不确定这是否是您想要的-但如果您希望纹理仅覆盖对象的一部分,请使用glTexCoordPointer为对象设置纹理坐标 不过,一些实际绘制代码的示例将非常有用。一些您尝试过的代码将非常有用,然后我们可以看到问题所在。不,您似乎已经为我解决了问题,谢谢。很抱歉向您询问此问题,但如何使用glTextCoordPointer?我根本找不到合适的GL文档。请看-您使用它的方式与使用glV

如何在平面上包裹两个纹理?我想是我做的,但是纹理填充了整个物体,而不仅仅是我想要的条子

谢谢你的帮助 ~Aedon


我不确定这是否是您想要的-但如果您希望纹理仅覆盖对象的一部分,请使用glTexCoordPointer为对象设置纹理坐标


不过,一些实际绘制代码的示例将非常有用。

一些您尝试过的代码将非常有用,然后我们可以看到问题所在。不,您似乎已经为我解决了问题,谢谢。很抱歉向您询问此问题,但如何使用glTextCoordPointer?我根本找不到合适的GL文档。请看-您使用它的方式与使用glVertexCoordPointer的方式大致相同
InputStream is = context.getResources().openRawResource(R.drawable.woodtexture1);
InputStream is2 = context.getResources().openRawResource(R.drawable.bandtest);
Bitmap bitmap = null;
Bitmap b2 = null;
try {
        //BitmapFactory is an Android graphics utility for images
        bitmap = BitmapFactory.decodeStream(is);
        b2 = BitmapFactory.decodeStream(is2);
} finally {
//Always clear and close
try {
    is.close();
    is2.close();
    is = null;
    is = null;
} catch (IOException e) {}
}

    //Generate one texture pointer...
    gl.glGenTextures(1, textures, 0);
    //...and bind it to our array
    gl.glBindTexture(GL10.GL_TEXTURE_2D, textures[0]);

    //Create Nearest Filtered Texture
    gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MIN_FILTER, GL10.GL_NEAREST);
    gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MAG_FILTER, GL10.GL_LINEAR);

    //Different possible texture parameters, e.g. GL10.GL_CLAMP_TO_EDGE
    gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_S, GL10.GL_REPEAT);
    gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_T, GL10.GL_REPEAT);

    //Use the Android GLUtils to specify a two-dimensional texture image from our bitmap
    GLUtils.texImage2D(GL10.GL_TEXTURE_2D, 0, bitmap, 0);

    //Generate one texture pointer...
    gl.glGenTextures(1, textures, 0);
    //...and bind it to our array
    gl.glBindTexture(GL10.GL_TEXTURE_2D, textures[0]);

    //Create Nearest Filtered Texture
    gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MIN_FILTER, GL10.GL_NEAREST);
    gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MAG_FILTER, GL10.GL_LINEAR);

    //Different possible texture parameters, e.g. GL10.GL_CLAMP_TO_EDGE
    gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_S, GL10.GL_ONE);
    gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_T, GL10.GL_ONE);
    GLUtils.texImage2D(GL10.GL_TEXTURE_2D, 0, bitmap, 0);
    GLUtils.texImage2D(GL10.GL_TEXTURE_2D, 0, b2, 0);