我遇到了这个具有抗锯齿效果的FxAA着色器,似乎运行得很好.但是,不知何故无法理解逻辑.谁能解释一下?
[[FX]]
// Samplers
sampler2D buf0 = sampler_state {
Address = Clamp;
Filter = None;
};
context FXAA {
VertexShader = compile GLSL VS_FSQUAD;
PixelShader = compile GLSL FS_FXAA;
}
[[VS_FSQUAD]]
uniform mat4 projMat;
attribute vec3 vertPos;
varying vec2 texCoords;
void main(void) {
texCoords = vertPos.xy;
gl_Position = projMat * vec4( vertPos, 1 );
}
[[FS_FXAA]]
uniform sampler2D buf0;
uniform vec2 frameBufSize;
varying vec2 texCoords;
void main( void ) {
//gl_FragColor.xyz = texture2D(buf0,texCoords).xyz;
//return;
float FXAA_SPAN_MAX = 8.0;
float FXAA_REDUCE_MUL …Run Code Online (Sandbox Code Playgroud) 来自NVidia的FxAA实施.
http://developer.download.nvidia.com/assets/gamedev/files/sdk/11/FXAA_WhitePaper.pdf http://timothylottes.blogspot.in/2011/12/fxaa-40-stills-and-features.html
这样的源代码没有许可证头,也无法找到有关许可的任何信息.将它与具有商业许可证的软件集成是否可以?
我有一段相当复杂的 GLSL 代码(大约 5000 行),其中的不同部分用不同的宏进行标记。由于代码库很大并且有很多标志,所以对我来说理解代码流程并不困难。想知道是否有一个工具可以向我显示预处理后的 GLSL 输出。我尝试使用 gDebugger 查看源代码,但它也显示了未预处理的代码。