- OpenGLスレ Part21
149 :デフォルトの名無しさん[sage]:2014/10/13(月) 05:46:16.52 ID:LIr0Nbiw - 2Dテクスチャの貼り付けである解説サイト見ていて、UVの部分指定でこうあったのですが
//UVバッファの生成 private FloatBuffer makeUVBuffer( int textureW,int textureH,int x,int y,int width,int height) { //ウィンドウ座標を正規化デバイス座標に変換 float left =(float)x/(float)textureW; float top =(float)y/(float)textureH; float right =(float)(x+width)/(float)textureW; float bottom=(float)(y+height)/(float)textureH; x+widthでああJavaと同じで幅(+1された)を指定するのかと思ったのですが よく考えると反転表示する時はleftとrightを入れ替えるので leftが+1されたとこから始まるのはずれておかしくなるので、正確には float right =(float)(x+width-1)/(float)textureW; float bottom=(float)(y+height-1)/(float)textureH; と幅ではなく実座標で指定するのが正しいのではないかと思ったのですが どうでしょうか?
|