サンプルの位置が一致していないため、適切なダウンサンプリングが行われていないため、同じ問題が発生しました。どのような私のために働いていたことだった。
- 同じ添付ファイル、フォーマットおよび寸法は別の「単一のサンプル」FBO(テクスチャ付きまたは添付をレンダ)ダウンサンプリングのためにブリットと、ウィンドウのバッファにこの
を/ブリットを描画します
- GLSLフラグメントシェーダを使用して、フラグメントごとにすべての対応するサンプルを渡すことによって、入力と同じサンプル数を持つマルチサンプルテクスチャを持つマルチサンプルウィンドウバッファにレンダリングします。これは、サンプルシェーディングが有効になっていて、サンプルごとにライト、シャドー、AOなどを計算できるので、遅延シェーディングのオーバーキルアプローチです。
- GLSLを使用して単一サンプルのフレームバッファに手動でダウンサンプリングするのではなく、別のサンプルを
texelFetch()
で個別に取得する必要がありました。
マルチサンプリングでは状況が非常に遅くなりました。 CSAAはMSAAよりも優れていましたが、後処理のためにFXAAシェーダを使用することをお勧めします。パフォーマンスが問題である場合や、新しい拡張機能が必要な場合(ARB_texture_multisampleなど)は利用できません。 GLSLのサンプルへのアクセス
:
vec4 texelDownsampleAvg(sampler2DMS sampler,ivec2 texelCoord,const int sampleCount)
{
vec4 accum = texelFetch(sampler,texelCoord,0);
for(int sample = 1; sample < sampleCount; ++sample) {
accum += texelFetch(sampler,texelCoord,sample);
}
return accum/sampleCount;
}
11)は、ブリットは、異なるビットサイズのバッファ間で許可されるべきか?
Resolved: Yes, for color buffers only. Attempting to blit
between depth or stencil buffers of different size generates
INVALID_OPERATION.
13)どのようにBlitFramebuffer色空間変換は を指定する必要がありますか?コンテキストクランプ状態が blitに影響するのを許可しますか?私のために働いた
Resolved: Blitting to a fixed point buffer always clamps,
blitting to a floating point buffer never clamps. The context
state is ignored.
出典
2012-02-02 20:31:43
Sam
問題のスナップショットと予想される正しい結果を提供できますか? – rotoglup