y座標を反転させて画像をopenGLにロードする方法はありますか?(逆さまに)。.NET BitmapクラスとBitmapDataクラスを使用しており、BitmapData.Scan0をOpenGLに渡します。
を使用してCPUでビットマップを反転するの.RotateFlip()
は遅すぎます。
すべてのtexcoordを反転する以外に、エンジンでこの問題を解決できますか?
フラグメントシェーダーを使用してレンダリングする場合は、u、v座標を必要に応じて解釈できます。それらを逆さまにすることは簡単で(ほぼ)無料である必要があります。
それ以外は、テクスチャの座標を反転するだけです。これを達成するのは難しいことではありません。
テクスチャ座標を変更するだけで、目的のフリップを実現できるはずです。
答えはノーだと思います。OpenGlはテクスチャデータとして画像へのポインタを取ります、そして私は彼に線をひっくり返すように言う方法を見たことがありません。
(編集:無視してください、質問はDrawPixelsではなくテクスチャです)
これはC++でうまくいきました。
Q:「glDrawPixels()に上下逆さまに反転した画像を描画させるにはどうすればよいですか?」
A:「glPixelZoom(1.0、-1.0)を試してください。同様に、glPixelZoom()を使用して画像を左から右に反転できます。画像を正しく配置するには、ラスター位置を調整する必要がある場合があります。」