2011-01-20 11 views
0

平面上に2つのテクスチャをラップするにはどうすればよいですか?私はそれをやったと思うが、テクスチャは私が望むスライバーだけでなくオブジェクト全体を満たしている。平面上に2つのテクスチャをラップしますか?

すべてのヘルプは 〜アエードーン

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); 
+0

あなたが試したことのいくつかのコードは参考になるでしょう、そして、我々は問題が何であるかを見ることができます。 – stealthcopter

答えて

0

高く評価され、これはあなたが望むものである場合、私はわからないよ - しかし、あなたはあなたのオブジェクトの一部のみをカバーするために、あなたのテクスチャをしたい場合は、テクスチャを設定するためにglTexCoordPointerを使用すると、あなたのための座標オブジェクト。

あなたの実際の描画コードの例は素晴らしいかもしれません。

+0

あなたは私のためにそれを釘付けにしたようですね、ありがとう。申し訳ありませんが、どのようにglTextCoordPointerを使用しますか?私はまったくGLのためのまともなドキュメントを見つけることができません。 – AedonEtLIRA

+0

http://www.opengl.org/sdk/docs/man/xhtml/glTexCoordPointer.xmlを参照してください。glVertexCoordPointerとほぼ同じ方法で使用します –

関連する問題