Added Post Processing, Improved UI a lot, Made File Explorer look nicer, Fixed up Raycast Selection, Added Placeholder Playmode Button, Added cameras, Organized Create menu in Inspector, Added outlines to selected objects, added view output for viewing cameras while in Playmode area.

This commit is contained in:
Anemunt
2025-12-10 15:13:05 -05:00
parent acebe7d7c0
commit 7831bea4e2
25 changed files with 2131 additions and 223 deletions

View File

@@ -0,0 +1,31 @@
#version 330 core
out vec4 FragColor;
in vec2 TexCoord;
uniform sampler2D image;
uniform vec2 texelSize;
uniform bool horizontal = true;
uniform float sigma = 3.0;
uniform int radius = 5;
const float PI = 3.14159265359;
void main() {
float twoSigma2 = 2.0 * sigma * sigma;
vec2 dir = horizontal ? vec2(1.0, 0.0) : vec2(0.0, 1.0);
vec3 result = texture(image, TexCoord).rgb;
float weightSum = 1.0;
for (int i = 1; i <= radius; ++i) {
float w = exp(-(float(i * i)) / twoSigma2);
vec2 offset = dir * texelSize * float(i);
result += texture(image, TexCoord + offset).rgb * w;
result += texture(image, TexCoord - offset).rgb * w;
weightSum += 2.0 * w;
}
result /= weightSum;
FragColor = vec4(result, 1.0);
}

View File

@@ -0,0 +1,15 @@
#version 330 core
out vec4 FragColor;
in vec2 TexCoord;
uniform sampler2D sceneTex;
uniform float threshold = 1.0;
void main() {
vec3 c = texture(sceneTex, TexCoord).rgb;
float luma = dot(c, vec3(0.2125, 0.7154, 0.0721));
float bright = max(luma - threshold, 0.0);
vec3 masked = c * step(0.0, bright);
FragColor = vec4(masked, 1.0);
}

View File

@@ -0,0 +1,49 @@
#version 330 core
out vec4 FragColor;
in vec2 TexCoord;
uniform sampler2D sceneTex;
uniform sampler2D bloomTex;
uniform sampler2D historyTex;
uniform bool enableBloom = false;
uniform float bloomIntensity = 0.8;
uniform bool enableColorAdjust = false;
uniform float exposure = 0.0; // EV stops
uniform float contrast = 1.0;
uniform float saturation = 1.0;
uniform vec3 colorFilter = vec3(1.0);
uniform bool enableMotionBlur = false;
uniform bool hasHistory = false;
uniform float motionBlurStrength = 0.15;
vec3 applyColorAdjust(vec3 color) {
if (enableColorAdjust) {
color *= exp2(exposure);
color = (color - 0.5) * contrast + 0.5;
float luma = dot(color, vec3(0.299, 0.587, 0.114));
color = mix(vec3(luma), color, saturation);
color *= colorFilter;
}
return color;
}
void main() {
vec3 color = texture(sceneTex, TexCoord).rgb;
if (enableBloom) {
vec3 glow = texture(bloomTex, TexCoord).rgb;
color += glow * bloomIntensity;
}
color = applyColorAdjust(color);
if (enableMotionBlur && hasHistory) {
vec3 history = texture(historyTex, TexCoord).rgb;
color = mix(color, history, clamp(motionBlurStrength, 0.0, 0.98));
}
FragColor = vec4(color, 1.0);
}

View File

@@ -0,0 +1,10 @@
#version 330 core
layout (location = 0) in vec2 aPos;
layout (location = 1) in vec2 aTexCoord;
out vec2 TexCoord;
void main() {
TexCoord = aTexCoord;
gl_Position = vec4(aPos, 0.0, 1.0);
}