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