我正在閱讀來自28byteslater.com的MSAA中延遲着色的this tutorial。顯式多重採樣與OpenGL中的常規多重採樣有何不同
它說,在明確的多重採樣中,我們可以訪問特定的樣本。
難道我們不能從一個普通的紋理來做同樣的事嗎?例如,它會綁定到GL_TEXTURE_2D_MULTISAMPLE
?
這是我用來較早用於訪問個別樣品的shader代碼(不使用顯式的多采樣):
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,現在我們可以嗎?
您的鏈接已被打破。 – Ruslan