summaryrefslogtreecommitdiff
path: root/effects.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'effects.cpp')
-rw-r--r--effects.cpp44
1 files changed, 8 insertions, 36 deletions
diff --git a/effects.cpp b/effects.cpp
index 9de8008..2844d23 100644
--- a/effects.cpp
+++ b/effects.cpp
@@ -1,62 +1,34 @@
#include "effects.h"
+
#include "effects_software.cpp"
+//#include "effects_gl.cpp"
+
+static void Effect_GL_Levels(source *Source, layer_bitmap_info *BitmapInfo, memory *Memory, property_channel Property[]);
+static void Effect_GL_GaussianBlur(source *Source, layer_bitmap_info *BitmapInfo, memory *Memory, property_channel Property[]);
static void
Effect_DrawColor(source *Source, layer_bitmap_info *BitmapInfo, memory *Memory, property_channel Property[])
{
- Effect_DrawColor_Software(Source, BitmapInfo, Memory, Property);
+ Effect_Software_DrawColor(Source, BitmapInfo, Memory, Property);
}
static void
Effect_Levels(source *Source, layer_bitmap_info *BitmapInfo, memory *Memory, property_channel Property[])
{
-#if 0
- real32 All_Start = Property[0].CurrentValue.f;
- real32 All_Mid = Property[1].CurrentValue.f;
- real32 All_End = Property[2].CurrentValue.f;
- v4 Start = Property[3].CurrentValue.col;
- v4 Mid = Property[4].CurrentValue.col;
- v4 End = Property[5].CurrentValue.col;
if (!BitmapInfo->HistogramVals) {
uint64 Size = Bitmap_CalcUnpackedBytes(Source->Info.Width, Source->Info.Height, Source->Info.BytesPerPixel);
BitmapInfo->HistogramVals = AllocateMemory(Memory, (sizeof(uint32) * 5 * 256), P_MiscCache);
Bitmap_CalcHistogram(BitmapInfo->HistogramVals, BitmapInfo->BitmapBuffer, Source->Info.BytesPerPixel, Size);
}
-
Assert(&BitmapInfo->Test);
- gl_effect_layer Test = BitmapInfo->Test;
- // glBindRenderbuffer(GL_RENDERBUFFER, Test.RBO);
- /*
- glUseProgram(TGL.ShaderProgram);
-
- int vertexColorLocation = glGetUniformLocation(TGL.ShaderProgram, "Start");
- glUniform1f(vertexColorLocation, All_Start);
- vertexColorLocation = glGetUniformLocation(TGL.ShaderProgram, "Mid");
- glUniform1f(vertexColorLocation, All_Mid);
- vertexColorLocation = glGetUniformLocation(TGL.ShaderProgram, "End");
- glUniform1f(vertexColorLocation, All_End);
- vertexColorLocation = glGetUniformLocation(TGL.ShaderProgram, "StartCol");
- glUniform4f(vertexColorLocation, Start.r, Start.g, Start.b, Start.a);
- vertexColorLocation = glGetUniformLocation(TGL.ShaderProgram, "MidCol");
- glUniform4f(vertexColorLocation, Mid.r, Mid.g, Mid.b, Mid.a);
- vertexColorLocation = glGetUniformLocation(TGL.ShaderProgram, "EndCol");
- glUniform4f(vertexColorLocation, End.r, End.g, End.b, End.a);
- */
- glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_INT, 0);
-
- glReadBuffer(GL_COLOR_ATTACHMENT0);
- uint16 Width = Source->Info.Width;
- uint16 Height = Source->Info.Height;
- uint8 *Data = (uint8 *)BitmapInfo->BitmapBuffer;
- glReadPixels(0, 0, Width, Height, GL_RGBA, GL_UNSIGNED_BYTE, &Data[0]);
- glBindFramebuffer(GL_FRAMEBUFFER, 0);
-#endif
+ Effect_GL_Levels(Source, BitmapInfo, Memory, Property);
}
static void
Effect_GaussianBlur(source *Source, layer_bitmap_info *BitmapInfo, memory *Memory, property_channel Property[])
{
+ Effect_GL_GaussianBlur(Source, BitmapInfo, Memory, Property);
#if 0
real32 Radius = Property[0].CurrentValue.f;