many optimizations
This commit is contained in:
parent
4a80fa5e6b
commit
3da342465d
4
Makefile
4
Makefile
@ -23,9 +23,9 @@ OBJS = $(addsuffix .o, $(basename $(notdir $(SOURCES))))
|
|||||||
UNAME_S := $(shell uname -s)
|
UNAME_S := $(shell uname -s)
|
||||||
LINUX_GL_LIBS = -lGLEW -lGL -ldl
|
LINUX_GL_LIBS = -lGLEW -lGL -ldl
|
||||||
|
|
||||||
CXXFLAGS = -std=c++17 -I$(IMGUI_DIR) -I$(IMGUI_DIR)/backends
|
CXXFLAGS = -std=c++17 -I$(IMGUI_DIR) -I$(IMGUI_DIR)/backends -DIMGUI_DEFINE_MATH_OPERATORS
|
||||||
CXXFLAGS += -g -Wall -Wformat -O3
|
CXXFLAGS += -g -Wall -Wformat -O3
|
||||||
LIBS = -lraw -ljpeg -lpng -ltiff -lz -lm -DIMGUI -DIMGUI_DEFINE_MATH_OPERATORS
|
LIBS = -lraw -ljpeg -lpng -ltiff -lz -lm -DIMGUI -DIMGUI_DEFINE_MATH_OPERATORS -DCUSTOM_IN_APP_GPU_PROFILER_CONFIG=iagpConfig.h
|
||||||
|
|
||||||
|
|
||||||
##---------------------------------------------------------------------
|
##---------------------------------------------------------------------
|
||||||
|
74
imgui.ini
74
imgui.ini
@ -1,24 +1,24 @@
|
|||||||
[Window][Image Exif]
|
[Window][Image Exif]
|
||||||
Pos=0,19
|
Pos=0,19
|
||||||
Size=501,2072
|
Size=233,1454
|
||||||
Collapsed=0
|
Collapsed=0
|
||||||
DockId=0x00000003,0
|
DockId=0x00000005,0
|
||||||
|
|
||||||
[Window][Edit Image]
|
[Window][Edit Image]
|
||||||
Pos=3308,19
|
Pos=2086,19
|
||||||
Size=532,2072
|
Size=324,1454
|
||||||
Collapsed=0
|
Collapsed=0
|
||||||
DockId=0x00000002,0
|
DockId=0x00000002,0
|
||||||
|
|
||||||
[Window][Image View]
|
[Window][Image View]
|
||||||
Pos=503,19
|
Pos=235,19
|
||||||
Size=2803,2072
|
Size=1849,1454
|
||||||
Collapsed=0
|
Collapsed=0
|
||||||
DockId=0x00000004,0
|
DockId=0x00000004,0
|
||||||
|
|
||||||
[Window][DockSpaceWindowHost]
|
[Window][DockSpaceWindowHost]
|
||||||
Pos=0,19
|
Pos=0,19
|
||||||
Size=3840,2072
|
Size=2410,1454
|
||||||
Collapsed=0
|
Collapsed=0
|
||||||
|
|
||||||
[Window][Debug##Default]
|
[Window][Debug##Default]
|
||||||
@ -276,10 +276,58 @@ Pos=290,135
|
|||||||
Size=700,450
|
Size=700,450
|
||||||
Collapsed=0
|
Collapsed=0
|
||||||
|
|
||||||
[Docking][Data]
|
[Window][Open Image File##filebrowser_109471027310912]
|
||||||
DockSpace ID=0xE098E157 Window=0x9E772337 Pos=0,19 Size=3840,2072 Split=X
|
Pos=861,431
|
||||||
DockNode ID=0x00000001 Parent=0xE098E157 SizeRef=3306,720 Split=X
|
Size=700,450
|
||||||
DockNode ID=0x00000003 Parent=0x00000001 SizeRef=501,720 Selected=0x5593B2D4
|
Collapsed=0
|
||||||
DockNode ID=0x00000004 Parent=0x00000001 SizeRef=2803,720 CentralNode=1 Selected=0x9B39CB70
|
|
||||||
DockNode ID=0x00000002 Parent=0xE098E157 SizeRef=532,720 Selected=0x610DAB84
|
[Window][###ProfilerWindow]
|
||||||
|
Pos=0,1240
|
||||||
|
Size=671,851
|
||||||
|
Collapsed=0
|
||||||
|
DockId=0x00000006,0
|
||||||
|
|
||||||
|
[Window][Open Image File##filebrowser_103987528614208]
|
||||||
|
Pos=1000,385
|
||||||
|
Size=700,450
|
||||||
|
Collapsed=0
|
||||||
|
|
||||||
|
[Window][Open Image File##filebrowser_102981197480256]
|
||||||
|
Pos=1133,650
|
||||||
|
Size=700,450
|
||||||
|
Collapsed=0
|
||||||
|
|
||||||
|
[Window][Export Image As##filebrowser_102981197479776]
|
||||||
|
Pos=1570,820
|
||||||
|
Size=700,450
|
||||||
|
Collapsed=0
|
||||||
|
|
||||||
|
[Window][Open Image File##filebrowser_111150851768640]
|
||||||
|
Pos=1570,820
|
||||||
|
Size=700,450
|
||||||
|
Collapsed=0
|
||||||
|
|
||||||
|
[Window][Open Image File##filebrowser_104296741056832]
|
||||||
|
Pos=1570,820
|
||||||
|
Size=700,450
|
||||||
|
Collapsed=0
|
||||||
|
|
||||||
|
[Window][Open Image File##filebrowser_111251638272320]
|
||||||
|
Pos=290,135
|
||||||
|
Size=700,450
|
||||||
|
Collapsed=0
|
||||||
|
|
||||||
|
[Window][Open Image File##filebrowser_94747345662272]
|
||||||
|
Pos=290,135
|
||||||
|
Size=700,450
|
||||||
|
Collapsed=0
|
||||||
|
|
||||||
|
[Docking][Data]
|
||||||
|
DockSpace ID=0xE098E157 Window=0x9E772337 Pos=0,19 Size=2410,1454 Split=X
|
||||||
|
DockNode ID=0x00000001 Parent=0xE098E157 SizeRef=1594,720 Split=X
|
||||||
|
DockNode ID=0x00000003 Parent=0x00000001 SizeRef=233,720 Split=Y Selected=0x5593B2D4
|
||||||
|
DockNode ID=0x00000005 Parent=0x00000003 SizeRef=501,706 Selected=0x5593B2D4
|
||||||
|
DockNode ID=0x00000006 Parent=0x00000003 SizeRef=501,493 Selected=0x00DB98BF
|
||||||
|
DockNode ID=0x00000004 Parent=0x00000001 SizeRef=1359,720 CentralNode=1 Selected=0x9B39CB70
|
||||||
|
DockNode ID=0x00000002 Parent=0xE098E157 SizeRef=324,720 Selected=0x610DAB84
|
||||||
|
|
||||||
|
46
shaders/diff.frag
Normal file
46
shaders/diff.frag
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
#version 330 core
|
||||||
|
// Or appropriate GLSL version
|
||||||
|
|
||||||
|
out vec4 FragColor;
|
||||||
|
|
||||||
|
in vec2 TexCoords; // Comes from passthrough.vert
|
||||||
|
|
||||||
|
uniform sampler2D texBefore;
|
||||||
|
uniform sampler2D texAfter;
|
||||||
|
|
||||||
|
uniform float diffBoost = 5.0; // Uniform to control contrast boost
|
||||||
|
|
||||||
|
// Basic Luma calculation (Rec.709)
|
||||||
|
float Luma(vec3 color) {
|
||||||
|
return dot(color, vec3(0.2126, 0.7152, 0.0722));
|
||||||
|
}
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
vec3 colorBefore = texture(texBefore, TexCoords).rgb;
|
||||||
|
vec3 colorAfter = texture(texAfter, TexCoords).rgb;
|
||||||
|
|
||||||
|
// Calculate absolute difference per channel
|
||||||
|
vec3 diff = abs(colorAfter - colorBefore);
|
||||||
|
|
||||||
|
// Calculate average difference or luma difference (luma might be better)
|
||||||
|
// float avgDiff = (diff.r + diff.g + diff.b) / 3.0;
|
||||||
|
float lumaDiff = abs(Luma(colorAfter) - Luma(colorBefore));
|
||||||
|
|
||||||
|
// Boost the difference for visibility and clamp
|
||||||
|
float boostedDiff = clamp(lumaDiff * diffBoost, 0.0, 1.0);
|
||||||
|
|
||||||
|
// Output as grayscale
|
||||||
|
FragColor = vec4(vec3(boostedDiff), 1.0);
|
||||||
|
|
||||||
|
// --- Alternative Visualizations ---
|
||||||
|
// // Simple Red highlight for changes:
|
||||||
|
// if (boostedDiff > 0.05) { // Threshold
|
||||||
|
// FragColor = vec4(1.0, 0.0, 0.0, 1.0);
|
||||||
|
// } else {
|
||||||
|
// FragColor = vec4(colorBefore, 1.0); // Show original where no change
|
||||||
|
// }
|
||||||
|
|
||||||
|
// // False color based on difference magnitude (example):
|
||||||
|
// vec3 diffColor = vec3(boostedDiff * 2.0, (1.0 - boostedDiff) * 2.0, 0.0); // Example: Red=High diff, Green=Low diff
|
||||||
|
// FragColor = vec4(clamp(diffColor, 0.0, 1.0), 1.0);
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user