トップページ > プログラム > 2014年10月13日 > LIr0Nbiw

書き込み順位&時間帯一覧

52 位/249 ID中時間01234567891011121314151617181920212223Total
書き込み数0000010000010000000000002



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
OpenGLスレ Part21

書き込みレス一覧

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;
と幅ではなく実座標で指定するのが正しいのではないかと思ったのですが
どうでしょうか?
OpenGLスレ Part21
151 :デフォルトの名無しさん[sage]:2014/10/13(月) 11:56:53.21 ID:LIr0Nbiw
図形ありがとうございます。
三角を2つ描くので座標について混乱してたのですが
その図形からよく考えてみると解説サイトのままでいいみたいですね。
わかりました。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。