0

GLSL シェーダーを使用してテクスチャを比較しています。私のアルゴリズムのステップの 1 つで、(シェーダーを使用して) ピクセル値を合計するか、それらの平均を計算してから CPU に読み込みます。次のようになります (シェーダーは 1x1 testure で実行され、計算は R チャネルのみ、texture2 サイズは 1x500):

uniform sampler2D texture2;
void main()
{
    float sumR = 0.0;
    float step = 1.f / 500.f;

    for(int i = 0; i<500; i++)
    {
        vec2 pos = gl_TexCoord[0].st;
        sumR +=  (texture2D(texture2, vec2(pos.x, i * step))).r;
    }
    gl_FragColor.r =  sumR;
}

私の問題は次のとおりです。このような大きな数を 32 ビット (1 チャネルのみ 8 ビット) の 1 ピクセルに格納する方法は? または、浮動小数点数をピクセル単位で正確に格納および読み取る方法は?

4

1 に答える 1