- Update the game logic and the engine repo.
- Copy renderProgs into the default game assets folder.
diff --git a/.gitignore b/.gitignore
index 547530e..b4e5110 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,6 +11,11 @@ source/game-assets/*
!source/map-assets/default
!source/game-assets/default
+*.swp
+*tags
+
+# CMake
+####################
source/game-logic/main
source/game-logic/CMakeCache.txt
source/game-logic/CMakeFiles
@@ -19,8 +24,18 @@ source/game-logic/CPackSourceConfig.cmake
source/game-logic/Makefile
source/game-logic/cmake_install.cmake
-*.swp
-*tags
+*CMakeFiles
+*CMakeCache.txt
+*CPackConfig.cmake
+*CPackSourceConfig.cmake
+*cmake_install.cmake
+*CTestTestFile.cmake
+
+# Visual Studio build files
+####################
+*.vcxproj
+*.vcxproj.filters
+*.sln
# OS X
####################
diff --git a/source/OpenWolf-Engine b/source/OpenWolf-Engine
index 1341690..489ffce 160000
--- a/source/OpenWolf-Engine
+++ b/source/OpenWolf-Engine
@@ -1 +1 @@
-Subproject commit 13416906409729b3409196c0c5d538ea5663b92b
+Subproject commit 489ffcea1b533f2ef11a5b7c0a4d47c74cc62eb9
diff --git a/source/game-assets/default/renderProgs/anaglyph.fragment b/source/game-assets/default/renderProgs/anaglyph.fragment
new file mode 100644
index 0000000..65ecec2
--- /dev/null
+++ b/source/game-assets/default/renderProgs/anaglyph.fragment
@@ -0,0 +1,63 @@
+uniform sampler2D u_TextureMap;
+uniform sampler2D u_LevelsMap;
+uniform vec4 u_Color;
+uniform vec2 u_AutoExposureMinMax;
+uniform vec3 u_ToneMinAvgMaxLinear;
+
+uniform vec4 u_ViewInfo; // zfar / znear, zfar
+uniform vec2 u_Dimensions;
+uniform vec4 u_Local0; // depthScale, 0, 0, 0
+
+varying vec2 var_TexCoords;
+varying vec4 var_ViewInfo; // zfar / znear, zfar
+varying vec2 var_Dimensions;
+varying vec4 var_Local0; // depthScale, 0, 0, 0
+
+vec2 texCoord = var_TexCoords;
+
+float near = u_ViewInfo.x;
+float far = u_ViewInfo.y;
+float viewWidth = var_Dimensions.x;
+float viewHeight = var_Dimensions.y;
+
+//float depthScale = 12.0
+float AnaglyphSeperation = var_Local0.r;
+float AnaglyphRed = var_Local0.g;
+float AnaglyphGreen = var_Local0.b;
+float AnaglyphBlue = var_Local0.a;
+
+void main(void)
+{
+ vec2 Depth = vec2(1.0f / viewWidth, 1.0f / viewHeight); // calculated from screen size now
+ vec4 Anaglyph = texture2D(u_TextureMap, texCoord).rgba;
+
+ // Setting RGB channel colors
+ float red = dot(Anaglyph.rgb, vec3(2.55, 0, 0));
+ float green = dot(Anaglyph.rgb, vec3(0, 2.55, 0));
+ float blue = dot(Anaglyph.rgb, vec3(0, 0, 2.55));
+
+ // Setting the RGB channel powers
+ vec4 red2 = vec4(red) * 0.111;
+ vec4 green2 = vec4(green) * 0.111;
+ vec4 blue2 = vec4(blue) * 0.111;
+
+ // Left Eye (Red)
+ vec4 LeftEye = texture2D(u_TextureMap, vec2(texCoord + (vec2(-AnaglyphSeperation,0)*Depth))).rgba;
+ red2 = max(red2, LeftEye) - vec4(AnaglyphRed);
+
+ // Right Eye (Cyan)
+ vec4 RightEye = texture2D(u_TextureMap, vec2(texCoord + (vec2(AnaglyphSeperation,0)*Depth))).rgba;
+ green2 = max(green2, RightEye) - vec4(AnaglyphGreen);
+ blue2 = max(blue2, RightEye) - vec4(AnaglyphBlue);
+ vec4 cyan = (green2 + blue2) / 2.0;
+
+ // Combine
+ Anaglyph.r = cyan.r;
+ Anaglyph.g = red2.g;
+ Anaglyph.b = red2.b;
+// Anaglyph.a = max(red2.a,cyan.a);
+ Anaglyph.a = 1.0;
+
+ gl_FragColor = Anaglyph;
+// gl_FragColor = red2;
+}
diff --git a/source/game-assets/default/renderProgs/anaglyph.vertex b/source/game-assets/default/renderProgs/anaglyph.vertex
new file mode 100644
index 0000000..8cc52e8
--- /dev/null
+++ b/source/game-assets/default/renderProgs/anaglyph.vertex
@@ -0,0 +1,22 @@
+attribute vec3 attr_Position;
+attribute vec4 attr_TexCoord0;
+
+uniform mat4 u_ModelViewProjectionMatrix;
+
+uniform vec4 u_ViewInfo; // zfar / znear, zfar
+uniform vec2 u_Dimensions;
+uniform vec4 u_Local0; // depthScale, 0, 0, 0
+
+varying vec2 var_TexCoords;
+varying vec4 var_ViewInfo; // zfar / znear, zfar
+varying vec2 var_Dimensions;
+varying vec4 var_Local0; // depthScale, 0, 0, 0
+
+void main()
+{
+ gl_Position = u_ModelViewProjectionMatrix * vec4(attr_Position, 1.0);
+ var_TexCoords = attr_TexCoord0.st;
+ var_ViewInfo = u_ViewInfo;
+ var_Dimensions = u_Dimensions.st;
+ var_Local0 = u_Local0.rgba;
+}
diff --git a/source/game-assets/default/renderProgs/anamorphic_blur.fragment b/source/game-assets/default/renderProgs/anamorphic_blur.fragment
new file mode 100644
index 0000000..32052e6
--- /dev/null
+++ b/source/game-assets/default/renderProgs/anamorphic_blur.fragment
@@ -0,0 +1,33 @@
+uniform sampler2D u_DiffuseMap;
+
+varying vec4 var_Local0; // scan_pixel_size_x, scan_pixel_size_y, scan_width, is_ssgi
+varying vec2 var_Dimensions;
+varying vec2 var_TexCoords;
+
+void main(void)
+{
+ float NUM_VALUES = 1.0;
+ vec2 PIXEL_OFFSET = vec2(1.0 / var_Dimensions.x, 1.0 / var_Dimensions.y);
+
+ vec3 col0 = texture2D(u_DiffuseMap, var_TexCoords.xy).rgb;
+ //gl_FragColor.rgb = vec3(0.0, 0.0, 0.0);
+ gl_FragColor.rgb = col0.rgb;
+
+ for (float width = 1.0; width <= var_Local0.z; width += 1.0)
+ {
+ float dist_mult = clamp(1.0 - (width / var_Local0.z), 0.0, 1.0);
+ vec3 col1 = texture2D(u_DiffuseMap, var_TexCoords.xy + ((var_Local0.xy * width) * PIXEL_OFFSET)).rgb;
+ vec3 col2 = texture2D(u_DiffuseMap, var_TexCoords.xy - ((var_Local0.xy * width) * PIXEL_OFFSET)).rgb;
+ vec3 add_color = ((col0 / 2) + ((col1 + col2) * (dist_mult * 2.0))) / 4;
+
+ vec3 BLUE_SHIFT_MOD = vec3(0.333, 0.333, 3.0);
+ vec3 add_color_blue = clamp(add_color * (BLUE_SHIFT_MOD * (1.0 - clamp(dist_mult*3.5, 0.0, 1.0))), 0.0, 1.0);
+ add_color.rgb += clamp(((add_color + add_color + add_color_blue) * 0.37), 0.0, 1.0);
+
+ gl_FragColor.rgb += add_color;
+ NUM_VALUES += 1.0;
+ }
+
+ gl_FragColor.rgb /= NUM_VALUES;//var_Local0.z;
+ gl_FragColor.a = 1.0;
+}
diff --git a/source/game-assets/default/renderProgs/anamorphic_blur.vertex b/source/game-assets/default/renderProgs/anamorphic_blur.vertex
new file mode 100644
index 0000000..b6bd7a7
--- /dev/null
+++ b/source/game-assets/default/renderProgs/anamorphic_blur.vertex
@@ -0,0 +1,21 @@
+attribute vec3 attr_Position;
+
+uniform vec4 u_Local0;
+uniform vec2 u_Dimensions;
+
+uniform mat4 u_ModelViewProjectionMatrix;
+
+attribute vec4 attr_TexCoord0;
+
+varying vec4 var_Local0;
+varying vec2 var_Dimensions;
+
+varying vec2 var_TexCoords;
+
+void main(void)
+{
+ gl_Position = u_ModelViewProjectionMatrix * vec4(attr_Position, 1.0);
+ var_TexCoords = attr_TexCoord0.st;
+ var_Dimensions = u_Dimensions;
+ var_Local0 = u_Local0;
+}
diff --git a/source/game-assets/default/renderProgs/anamorphic_combine.fragment b/source/game-assets/default/renderProgs/anamorphic_combine.fragment
new file mode 100644
index 0000000..6732c25
--- /dev/null
+++ b/source/game-assets/default/renderProgs/anamorphic_combine.fragment
@@ -0,0 +1,15 @@
+uniform sampler2D u_DiffuseMap;
+uniform sampler2D u_NormalMap; // Blur'ed bloom'ed VBO image...
+
+varying vec4 var_Local0;
+varying vec2 var_TexCoords;
+
+void main(void)
+{
+ vec3 col1 = texture2D(u_DiffuseMap, var_TexCoords.st).rgb;
+ vec3 col2 = texture2D(u_NormalMap, var_TexCoords.st).rgb;
+ gl_FragColor.rgb = col1 + col2 * var_Local0.x;
+ //gl_FragColor.a = 0.1;
+ gl_FragColor.a = 1.0;
+}
+
diff --git a/source/game-assets/default/renderProgs/anamorphic_combine.vertex b/source/game-assets/default/renderProgs/anamorphic_combine.vertex
new file mode 100644
index 0000000..561efd2
--- /dev/null
+++ b/source/game-assets/default/renderProgs/anamorphic_combine.vertex
@@ -0,0 +1,16 @@
+attribute vec3 attr_Position;
+
+uniform vec4 u_Local0;
+varying vec4 var_Local0;
+
+attribute vec4 attr_TexCoord0;
+varying vec2 var_TexCoords;
+
+uniform mat4 u_ModelViewProjectionMatrix;
+
+void main(void)
+{
+ gl_Position = u_ModelViewProjectionMatrix * vec4(attr_Position, 1.0);
+ var_Local0 = u_Local0;
+ var_TexCoords = attr_TexCoord0.st;
+}
diff --git a/source/game-assets/default/renderProgs/anamorphic_darken.fragment b/source/game-assets/default/renderProgs/anamorphic_darken.fragment
new file mode 100644
index 0000000..837f245
--- /dev/null
[... diff too long, it was truncated ...]
GitHub
sha: 6e3c542a