28byteslater.com から、遅延シェーディングの MSAA に関するこのチュートリアルを読んでいました。
明示的なマルチサンプリングでは、特定のサンプルにアクセスできると言っています。
GL_TEXTURE_2D_MULTISAMPLE
たとえば、バインドされた通常のテクスチャから同じことを行うことはできませんか?
これは、(明示的なマルチサンプリングを使用せずに) 個々のサンプルにアクセスするために以前に使用したシェーダー コードです。
uniform sampler2DMS Diffuse;
ivec2 Texcoord = ivec2(textureSize(Diffuse) * In.Texcoord);
vec4 colorFirstSample = texelFetch(Diffuse, Texcoord, 0);
vec4 colorSecondSample = texelFetch(Diffuse, Texcoord, 1);
vec4 colorThirdSample = texelFetch(Diffuse, Texcoord, 2);
明示的なマルチサンプリングで異なると思われる唯一のことは、それらがtexelFetchRenderbuffer()
シェーダーで使用されており、テクスチャが にバインドされていることGL_TEXTURE_RENDERBUFFER_NV
です。さらに、正しく覚えていれば、シェーダーで RenderBuffer を使用することはできませんが、今では使用できますか?