]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - shader_glsl.h
Implement chromatic aberration, configurable with r_colorfringe cvar.
[xonotic/darkplaces.git] / shader_glsl.h
index d51cd6726551a003daeeafffb89e271ed67fd03f..608e42d7c5ef116dda2e50ec5db7e058123a7914 100644 (file)
 "uniform mediump vec4 UserVec2;\n",
 "// uniform mediump vec4 UserVec3;\n",
 "// uniform mediump vec4 UserVec4;\n",
+"uniform mediump float ColorFringe;\n",
 "// uniform highp float ClientTime;\n",
 "uniform mediump vec2 PixelSize;\n",
 "\n",
 "\n",
 "void main(void)\n",
 "{\n",
-"      dp_FragColor = dp_texture2D(Texture_First, TexCoord1);\n",
+"      float fringe = ColorFringe;//.0033f;\n",
+"      float amount = distance(TexCoord1, vec2(.5f,.5f));\n",
+"      vec2 offset = vec2(amount*fringe,amount*fringe);\n",
+"      dp_FragColor.xy = texture(Texture_First, TexCoord1-offset).xy;\n",
+"      dp_FragColor.z = texture(Texture_First, TexCoord1+offset).z;\n",
 "\n",
 "#ifdef USEFXAA\n",
 "      dp_FragColor = fxaa(dp_FragColor, 8.0); // 8.0 can be changed for larger span\n",