建设企业网站企业网上银行登录官网,怎么分享网站,wordpress 社交媒体,珠海关键词优化平台我在GLSL中有一个径向模糊着色器,它采用纹理,对其进行径向模糊,并将结果呈现给屏幕.这个工作很好,到目前为止.问题在于,它将径向模糊应用于场景中的第一个纹理.但是我实际上想做的就是将这个模糊应用于整个场景.实现此功能的最佳方式是什么#xff1f;我可以只使用着色器,还是…我在GLSL中有一个径向模糊着色器,它采用纹理,对其进行径向模糊,并将结果呈现给屏幕.这个工作很好,到目前为止.问题在于,它将径向模糊应用于场景中的第一个纹理.但是我实际上想做的就是将这个模糊应用于整个场景.实现此功能的最佳方式是什么我可以只使用着色器,还是先将场景渲染到纹理(在OpenGL中),然后将这个纹理传递给着色器进行进一步处理// Vertex shadervarying vec2 uv;void main(void){gl_Position vec4( gl_Vertex.xy, 0.0, 1.0 );gl_Position sign( gl_Position );uv (vec2( gl_Position.x, - gl_Position.y ) vec2(1.0) ) / vec2(2.0);}// Fragment shaderuniform sampler2D tex;varying vec2 uv;const float sampleDist 1.0;const float sampleStrength 2.2;void main(void){float samples[10];samples[0] -0.08;samples[1] -0.05;samples[2] -0.03;samples[3] -0.02;samples[4] -0.01;samples[5] 0.01;samples[6] 0.02;samples[7] 0.03;samples[8] 0.05;samples[9] 0.08;vec2 dir 0.5 - uv;float dist sqrt(dir.x*dir.x dir.y*dir.y);dir dir/dist;vec4 color texture2D(tex,uv);vec4 sum color;for (int i 0; i 10; i)sum texture2D( tex, uv dir * samples[i] * sampleDist );sum * 1.0/11.0;float t dist * sampleStrength;t clamp( t ,0.0,1.0);gl_FragColor mix( color, sum, t );}