私はサイズの画像320x240があります。今度は整数画像座標ux, uy
でsampler2D
からサンプリングする範囲[0、サイズ](サイズは幅または高さかもしれません)でテクスチャ座標を正規化する必要があります。OpenGLでテクスチャ空間の画像座標を正規化する方法は?
UX = 0 ... 319とUY = 0 ... 239ので、私はこの
またはこの
ようtexture(image, vec2(ux/319.0, uy/239.0))
のように正規化する必要がある場合は今、私は疑問に思います。後者は実際に[0、1]の全範囲をカバーするでしょうか?つまり、は、例えば、左端のピクセルとは右端のピクセルに対応します。
また、フィルタリングを維持したいので、texelFetch
を使用しません。
誰でもこれについて何かお知らせいただけますか?ありがとう。
'' 'ux、uy'''は* ** [0,1,2、... 319]、[0,1,2 ... 239]の**計算シェーダのスレッドです** 、総勢** 320 * 240 **。さて、私はそれらをテクスチャ空間にマップしたいと思います。だから私はその前提を変更する余地はあまりないと思う(もしスレッドを追加すれば)。 –
ああ、テクスチャからサンプリングするときに、ハーフピクセルシフトを自分で行う必要があります。つまり、add(.5、.5)を(ux、vx)にする必要があります。それ以外の場合は、319は318番目と319番目の列の中間に対応します。 – ybungalobill
まだ320と240で割る必要がありますが、テクセルの半分である各スレッドに 'vec2(1 /(2 * width)、1 /(2 * height))'を追加する必要があります。これは実際には位置1でサンプリングするのではなく、最大で '1 - (1 /(2 * texelSize))'であるからです。 – BDL