2009-03-11 14 views

答えて

2

はい。
もう一度バインドしてglGetTexImage()
を呼び出してください。現在バインドされているテクスチャを混乱させたくない場合は、別のテクスチャユニットにバインドできます。テクスチャユニットは、結合されたテクスチャを保持するコンテナです。すべてのテクスチャユニットに1つのテクスチャを割り当てることができます。 OpenGL 2.1では、インプリメンテーションに少なくとも2つのテクスチャユニットが必要です。あなたが定期的に使用するデフォルトのテクスチャユニットは、現在のテクスチャユニットコールglActiveTexture()切り替えるための単位0です:IMO

glActiveTexture(GL_TEXTURE1); 
glBindTexture(texid); 
glGetTexImage(...); 
glActiveTexture(GL_TEXTURE0); // don't forget to switch it back 
+0

より一貫性のある方法「を台無しにしない」現在バインドされているテクスチャがにGL_TEXTURE_BINDING_2DでglPushAttribまたはglGetを使用することですへ必要に応じて保存してください。ユニット1の切り替えと混乱は、ユニット0の混乱のように任意です... – rotoglup

関連する問題