256 x 256のテクスチャと、X: 192 Y: 128で32 x 32 の画像を取得した場合、 glTexCoord2fを使用してX: 192 Y: 128で32 x 32の画像のみを描画するために使用されるアルゴリズムは何ですか?画像の他の部分から)?
これが私がやりたいことの例です。青/赤のボックスは、私が使いたいものです。しかし、私はそのボックス、それを囲むもの、またはテクスチャ全体を描画したいだけです。
256 x 256のテクスチャと、X: 192 Y: 128で32 x 32 の画像を取得した場合、 glTexCoord2fを使用してX: 192 Y: 128で32 x 32の画像のみを描画するために使用されるアルゴリズムは何ですか?画像の他の部分から)?
これが私がやりたいことの例です。青/赤のボックスは、私が使いたいものです。しかし、私はそのボックス、それを囲むもの、またはテクスチャ全体を描画したいだけです。
これは、あなたの望むことですか?
float f = 1.0f/256.0f;
glBegin( GL_QUADS );
glTexCoord2f( 192 * f, 128 * f );
glVertex2f( 192, 128 );
glTexCoord2f( (192 + 32) * f, 128 * f );
glVertex2f( 192 + 32, 128 );
glTexCoord2f( (192 + 32) * f, (128 + 32) * f );
glVertex2f( 192 + 32, 128 + 32 );
glTexCoord2f( 192 * f, (128 + 32) * f );
glVertex2f( 192, 128 + 32 );
glEnd();
テクスチャ座標は <0,1> 間隔にスケーリングされることに注意してください。また、中間モードは OpenGL 3 で廃止されました。