diff options
author | Hamed Zaghaghi <hamed.zaghaghi@gmail.com> | 2007-11-06 15:16:12 +0300 |
---|---|---|
committer | Hamed Zaghaghi <hamed.zaghaghi@gmail.com> | 2007-11-06 15:16:12 +0300 |
commit | af169b41fda5fe05d62655b782674eda2bc565e7 (patch) | |
tree | f70303d83032dffdeca399e97659cfa91fcc5d0a /source/gameengine/Rasterizer/RAS_OpenGLFilters | |
parent | aa774427f64916ef5713c01c5d23657b61a80003 (diff) |
2d Filters updated, now you can use custom filter and write your own GLSL shader program to filter rendering result.
Diffstat (limited to 'source/gameengine/Rasterizer/RAS_OpenGLFilters')
10 files changed, 34 insertions, 36 deletions
diff --git a/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Blur2DFilter.h b/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Blur2DFilter.h index ae7f56174e6..2b0bdbc4351 100644 --- a/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Blur2DFilter.h +++ b/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Blur2DFilter.h @@ -2,8 +2,8 @@ #define __RAS_BLUR2DFILTER char * BlurFragmentShader=STRINGIFY( -uniform sampler2D sampler0; -uniform vec2 tc_offset[9]; +uniform sampler2D bgl_RenderedTexture; +uniform vec2 bgl_TextureCoordinateOffset[9]; void main(void) { @@ -11,8 +11,8 @@ void main(void) for (int i = 0; i < 9; i++) { - sample[i] = texture2D(sampler0, - gl_TexCoord[0].st + tc_offset[i]); + sample[i] = texture2D(bgl_RenderedTexture, + gl_TexCoord[0].st + bgl_TextureCoordinateOffset[i]); } gl_FragColor = (sample[0] + (2.0*sample[1]) + sample[2] + diff --git a/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Dilation2DFilter.h b/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Dilation2DFilter.h index 6fd7f867d10..9cf233d549a 100644 --- a/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Dilation2DFilter.h +++ b/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Dilation2DFilter.h @@ -2,8 +2,8 @@ #define __RAS_DILATION2DFILTER char * DilationFragmentShader=STRINGIFY( -uniform sampler2D sampler0; -uniform vec2 tc_offset[9]; +uniform sampler2D bgl_RenderedTexture; +uniform vec2 bgl_TextureCoordinateOffset[9]; void main(void) { @@ -12,8 +12,8 @@ void main(void) for (int i = 0; i < 9; i++) { - sample[i] = texture2D(sampler0, - gl_TexCoord[0].st + tc_offset[i]); + sample[i] = texture2D(bgl_RenderedTexture, + gl_TexCoord[0].st + bgl_TextureCoordinateOffset[i]); maxValue = max(sample[i], maxValue); } diff --git a/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Erosion2DFilter.h b/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Erosion2DFilter.h index a0fc7486447..667da14c10e 100644 --- a/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Erosion2DFilter.h +++ b/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Erosion2DFilter.h @@ -2,8 +2,8 @@ #define __RAS_EROSION2DFILTER char * ErosionFragmentShader=STRINGIFY( -uniform sampler2D sampler0; -uniform vec2 tc_offset[9]; +uniform sampler2D bgl_RenderedTexture; +uniform vec2 bgl_TextureCoordinateOffset[9]; void main(void) { @@ -12,8 +12,8 @@ void main(void) for (int i = 0; i < 9; i++) { - sample[i] = texture2D(sampler0, - gl_TexCoord[0].st + tc_offset[i]); + sample[i] = texture2D(bgl_RenderedTexture, + gl_TexCoord[0].st + bgl_TextureCoordinateOffset[i]); minValue = min(sample[i], minValue); } diff --git a/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_GrayScale2DFilter.h b/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_GrayScale2DFilter.h index c6fc4a0214d..09f58c0a350 100644 --- a/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_GrayScale2DFilter.h +++ b/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_GrayScale2DFilter.h @@ -2,11 +2,11 @@ #define __RAS_GRAYSCALE2DFILTER char * GrayScaleFragmentShader=STRINGIFY( -uniform sampler2D sampler0; +uniform sampler2D bgl_RenderedTexture; void main(void) { - vec4 texcolor = texture2D(sampler0, gl_TexCoord[0].st); + vec4 texcolor = texture2D(bgl_RenderedTexture, gl_TexCoord[0].st); float gray = dot(texcolor.rgb, vec3(0.299, 0.587, 0.114)); gl_FragColor = vec4(gray, gray, gray, texcolor.a); } diff --git a/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Invert2DFilter.h b/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Invert2DFilter.h index 34e6fe29cd3..c3b9ee117c0 100644 --- a/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Invert2DFilter.h +++ b/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Invert2DFilter.h @@ -2,12 +2,11 @@ #define __RAS_INVERT2DFILTER char * InvertFragmentShader=STRINGIFY( -uniform sampler2D sampler0; -uniform vec2 offset[9]; +uniform sampler2D bgl_RenderedTexture; void main(void) { - vec4 texcolor = texture2D(sampler0, gl_TexCoord[0].st); + vec4 texcolor = texture2D(bgl_RenderedTexture, gl_TexCoord[0].st); gl_FragColor.rgb = 1.0 - texcolor.rgb; gl_FragColor.a = texcolor.a; } diff --git a/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Laplacian2DFilter.h b/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Laplacian2DFilter.h index f5b44a69c13..684ac4399fa 100644 --- a/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Laplacian2DFilter.h +++ b/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Laplacian2DFilter.h @@ -2,8 +2,8 @@ #define __RAS_LAPLACION2DFILTER char * LaplacionFragmentShader=STRINGIFY( -uniform sampler2D sampler0; -uniform vec2 tc_offset[9]; +uniform sampler2D bgl_RenderedTexture; +uniform vec2 bgl_TextureCoordinateOffset[9]; void main(void) { @@ -11,8 +11,8 @@ void main(void) for (int i = 0; i < 9; i++) { - sample[i] = texture2D(sampler0, - gl_TexCoord[0].st + tc_offset[i]); + sample[i] = texture2D(bgl_RenderedTexture, + gl_TexCoord[0].st + bgl_TextureCoordinateOffset[i]); } gl_FragColor = (sample[4] * 8.0) - diff --git a/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Prewitt2DFilter.h b/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Prewitt2DFilter.h index a6897bd33d4..c4b344b2ded 100644 --- a/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Prewitt2DFilter.h +++ b/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Prewitt2DFilter.h @@ -2,8 +2,8 @@ #define __RAS_PREWITT2DFILTER char * PrewittFragmentShader=STRINGIFY( -uniform sampler2D sampler0; -uniform vec2 tc_offset[9]; +uniform sampler2D bgl_RenderedTexture; +uniform vec2 bgl_TextureCoordinateOffset[9]; void main(void) { @@ -11,8 +11,8 @@ void main(void) for (int i = 0; i < 9; i++) { - sample[i] = texture2D(sampler0, - gl_TexCoord[0].st + tc_offset[i]); + sample[i] = texture2D(bgl_RenderedTexture, + gl_TexCoord[0].st + bgl_TextureCoordinateOffset[i]); } vec4 horizEdge = sample[2] + sample[5] + sample[8] - diff --git a/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Sepia2DFilter.h b/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Sepia2DFilter.h index cfff00e1287..4ba91b85784 100644 --- a/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Sepia2DFilter.h +++ b/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Sepia2DFilter.h @@ -2,12 +2,11 @@ #define __RAS_SEPIA2DFILTER char * SepiaFragmentShader=STRINGIFY( -uniform sampler2D sampler0; -uniform vec2 offset[9]; +uniform sampler2D bgl_RenderedTexture; void main(void) { - vec4 texcolor = texture2D(sampler0, gl_TexCoord[0].st); + vec4 texcolor = texture2D(bgl_RenderedTexture, gl_TexCoord[0].st); float gray = dot(texcolor.rgb, vec3(0.299, 0.587, 0.114)); gl_FragColor = vec4(gray * vec3(1.2, 1.0, 0.8), texcolor.a); } diff --git a/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Sharpen2DFilter.h b/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Sharpen2DFilter.h index 640983482a9..685471aab07 100644 --- a/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Sharpen2DFilter.h +++ b/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Sharpen2DFilter.h @@ -2,8 +2,8 @@ #define __RAS_SHARPEN2DFILTER char * SharpenFragmentShader=STRINGIFY( -uniform sampler2D sampler0; -uniform vec2 tc_offset[9]; +uniform sampler2D bgl_RenderedTexture; +uniform vec2 bgl_TextureCoordinateOffset[9]; void main(void) { @@ -11,8 +11,8 @@ void main(void) for (int i = 0; i < 9; i++) { - sample[i] = texture2D(sampler0, - gl_TexCoord[0].st + tc_offset[i]); + sample[i] = texture2D(bgl_RenderedTexture, + gl_TexCoord[0].st + bgl_TextureCoordinateOffset[i]); } gl_FragColor = (sample[4] * 9.0) - diff --git a/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Sobel2DFilter.h b/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Sobel2DFilter.h index da1d34713c9..93480afb250 100644 --- a/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Sobel2DFilter.h +++ b/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Sobel2DFilter.h @@ -2,8 +2,8 @@ #define __RAS_SOBEL2DFILTER char * SobelFragmentShader=STRINGIFY( -uniform sampler2D sampler0; -uniform vec2 tc_offset[9]; +uniform sampler2D bgl_RenderedTexture; +uniform vec2 bgl_TextureCoordinateOffset[9]; void main(void) { @@ -11,8 +11,8 @@ void main(void) for (int i = 0; i < 9; i++) { - sample[i] = texture2D(sampler0, - gl_TexCoord[0].st + tc_offset[i]); + sample[i] = texture2D(bgl_RenderedTexture, + gl_TexCoord[0].st + bgl_TextureCoordinateOffset[i]); } vec4 horizEdge = sample[2] + (2.0*sample[5]) + sample[8] - |