From 2e0e12140e95be18abf3cf7e54230ef22f410fbd Mon Sep 17 00:00:00 2001 From: Fox Caminiti Date: Tue, 23 Aug 2022 14:40:02 -0400 Subject: effects can use gl state --- effects.cpp | 44 ++++++++------------------------------------ 1 file changed, 8 insertions(+), 36 deletions(-) (limited to 'effects.cpp') 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; -- cgit v1.2.3