<OpenGL 11>

Aquí nos centramos en efecto la floración de diversas cuestiones planteadas, y sus soluciones.

Gaussiano grabó varias prácticas:

https://www.shadertoy.com/view/XdfGDH

https://www.shadertoy.com/view/ltScRG

https://gamedev.stackexchange.com/questions/166182/my-single-pass-gaussian-blur-looks-awful

https://github.com/Jam3/glsl-fast-gaussian-blur

 

 

El autor original de esta práctica:

Tenga en cuenta que el autor original de los mapas de principio a fin no es anti-aliasing (MSAA), por lo que todo el camino para funcionar sin problemas. Y sólo unas pocas escenas simples mapas.

Liang me ha dicho mucho MSAA es de residuos, déjame pensar FXAA.

 

 

 

Y mi enfoque es:

hdrFBO donde la textura se muestrea múltiples texturas. Empecé a pensar en una OBF está directamente entregado para amortiguar un paso en el proceso de post-procesamiento.

Sólo 2 puntos se representa partes, haciendo que la escena, la prestación de la segunda parte de la transmisión tampón 2 a la primera postprocesado prueba.

Problemas encontrados es:

1, hdrFBO multisampling OBF el procesamiento de texturas se completa después de la escena se debe copiar en el procesamiento posterior a la FBO.

2, hdrFBO muestreo múltiple OBF copia de la textura de la primera escena al último mensaje el procesamiento ningún problema.

3, hdrFBO multisampleados segunda textura (es decir, el segundo accesorio de color) es un texturas multi-muestra, materiales para ser entregado a la entrada, por lo que pasará de:

4, por cierto reconocen este diseño MSAA limita directamente el código para que el código se puede escribir más podrida

vec4 textureMSAA (sampler2DMS tex, TexCoords vec2) { 

    ivec2 texSize = textureSize (tex); 
    vec4 mtex = vec4 ( 1 );
    para ( int i = 0 ; i < 32 ; ++ i) 
    { 
        MTEX + = texelFetch (tex, ivec2 (TexCoords * texSize), i); 
    } 
    Mtex = mtex / 32.0f ;
    volver mtex; 
}
función textureMSAA
#version 450 núcleo 
#extension GL_ARB_shading_language_include: requiere 
#include " /shaders/common/utils.glsl " 
# include " /shaders/common/postprocess.glsl " 
fuera FragColor vec4;
en vec2 TexCoords; 
sceneImage sampler2D uniforme; 
brightImage sampler2DMS uniforme; 
uniforme flotador exposición;
void main () 
{ 
    escena vec4 = textura (sceneImage, TexCoords); 
    vec4 mtex = textureMSAA (brightImage, TexCoords); 
    vec3 resultar =tonemapping (scene.rgb, la exposición); 
    FragColor = vec4 (resultado, 1.0f ); 

}

 

Supongo que te gusta

Origin www.cnblogs.com/gearslogy/p/12623553.html
Recomendado
Clasificación