| /* |
| * Filters.cpp |
| * |
| * Created on: Jun 18, 2008 |
| * Author: pete |
| */ |
| #include "Common.hpp" |
| |
| #ifdef USE_GLES1 |
| #include <GLES/gl.h> |
| #else |
| #ifdef __APPLE__ |
| #include <OpenGL/gl.h> |
| #include <OpenGL/glu.h> |
| #else |
| #include <GL/gl.h> |
| #include <GL/glu.h> |
| #endif |
| #endif |
| |
| #include "Filters.hpp" |
| |
| |
| void |
| Brighten::Draw(RenderContext &context) |
| { |
| float points[4][2] = {{-0.5, -0.5}, |
| {-0.5, 0.5}, |
| { 0.5, 0.5}, |
| { 0.5, -0.5}}; |
| |
| glEnableClientState(GL_VERTEX_ARRAY); |
| glVertexPointer(2,GL_FLOAT,0,points); |
| |
| glColor4f(1.0, 1.0, 1.0, 1.0); |
| glBlendFunc(GL_ONE_MINUS_DST_COLOR, GL_ZERO); |
| glDrawArrays(GL_TRIANGLE_FAN,0,4); |
| glBlendFunc(GL_ZERO, GL_DST_COLOR); |
| glDrawArrays(GL_TRIANGLE_FAN,0,4); |
| glBlendFunc(GL_ONE_MINUS_DST_COLOR, GL_ZERO); |
| glDrawArrays(GL_TRIANGLE_FAN,0,4); |
| glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); |
| |
| glDisableClientState(GL_VERTEX_ARRAY); |
| } |
| |
| void |
| Darken::Draw(RenderContext &context) |
| { |
| float points[4][2] = {{-0.5, -0.5}, |
| {-0.5, 0.5}, |
| { 0.5, 0.5}, |
| { 0.5, -0.5}}; |
| |
| glEnableClientState(GL_VERTEX_ARRAY); |
| glVertexPointer(2,GL_FLOAT,0,points); |
| glColor4f(1.0, 1.0, 1.0, 1.0); |
| glBlendFunc(GL_ZERO, GL_DST_COLOR); |
| glDrawArrays(GL_TRIANGLE_FAN,0,4); |
| glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); |
| glDisableClientState(GL_VERTEX_ARRAY); |
| } |
| |
| void |
| Invert::Draw(RenderContext &context) |
| { |
| float points[4][2] = {{-0.5, -0.5}, |
| {-0.5, 0.5}, |
| { 0.5, 0.5}, |
| { 0.5, -0.5}}; |
| |
| glEnableClientState(GL_VERTEX_ARRAY); |
| glVertexPointer(2,GL_FLOAT,0,points); |
| glColor4f(1.0, 1.0, 1.0, 1.0); |
| glBlendFunc(GL_ONE_MINUS_DST_COLOR, GL_ZERO); |
| glDrawArrays(GL_TRIANGLE_FAN,0,4); |
| glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); |
| |
| glDisableClientState(GL_VERTEX_ARRAY); |
| } |
| |
| void |
| Solarize::Draw(RenderContext &context) |
| { |
| float points[4][2] = {{-0.5, -0.5}, |
| {-0.5, 0.5}, |
| { 0.5, 0.5}, |
| { 0.5, -0.5}}; |
| |
| glEnableClientState(GL_VERTEX_ARRAY); |
| glVertexPointer(2,GL_FLOAT,0,points); |
| |
| glColor4f(1.0, 1.0, 1.0, 1.0); |
| glBlendFunc(GL_ZERO, GL_ONE_MINUS_DST_COLOR); |
| glDrawArrays(GL_TRIANGLE_FAN,0,4); |
| glBlendFunc(GL_DST_COLOR, GL_ONE); |
| glDrawArrays(GL_TRIANGLE_FAN,0,4); |
| glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); |
| |
| glDisableClientState(GL_VERTEX_ARRAY); |
| } |