summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLizzy Fleckenstein <lizzy@vlhl.dev>2024-02-09 19:47:09 +0100
committerLizzy Fleckenstein <lizzy@vlhl.dev>2024-02-09 19:47:09 +0100
commit53d53454af60f975b2374a18b7f8f08543c97f76 (patch)
tree2f5b3b1594eb749db9f56196df40fd5914ddd66f
parent12829b9597fc7b11d1b475495fecc5d8acad7ac3 (diff)
downloadjuxtapos-sillyness.tar.xz
-rw-r--r--assets/fragment.glsl14
-rw-r--r--assets/quad_fragment.glsl8
-rw-r--r--src/main.c17
3 files changed, 17 insertions, 22 deletions
diff --git a/assets/fragment.glsl b/assets/fragment.glsl
index 3e67b83..91d89a2 100644
--- a/assets/fragment.glsl
+++ b/assets/fragment.glsl
@@ -8,19 +8,13 @@ out vec4 oColor;
uniform sampler2D materialTexture;
//uniform sampler2DShadow prevDepth;
-uniform sampler2DMS prevDepth;
-//uniform sampler2D prevDepth;
+//uniform sampler2DMS prevDepth;
+uniform sampler2D prevDepth;
void main()
{
//if (texture(prevDepth, vec3(fDepthTexCoord, gl_FragCoord.z + 0.000005)) == 1)
- //if (gl_FragCoord.z + 0.000005 < texelFetch(prevDepth, ivec2(gl_FragCoord.xy), gl_SampleID).r)
- if (gl_FragCoord.z + 0.000005 < texelFetch(prevDepth, ivec2(gl_FragCoord.xy), gl_SampleID).r)
- oColor = vec4(fPos, 0.5);
- //oColor = texelFetch(prevDepth, ivec2(gl_FragCoord.xy), gl_SampleID);
- else
+ if (gl_FragCoord.z + 0.000005 >= texelFetch(prevDepth, ivec2(gl_FragCoord.xy), gl_SampleID).r)
discard;
- //if (texture(prevDepth, vec3(fDepthTexCoord, )) < 1)
- // discard;
-
+ oColor = vec4(fPos, 0.5);
}
diff --git a/assets/quad_fragment.glsl b/assets/quad_fragment.glsl
index 7cf31d4..6fadc93 100644
--- a/assets/quad_fragment.glsl
+++ b/assets/quad_fragment.glsl
@@ -4,12 +4,12 @@ in vec2 fTexCoord;
out vec4 oColor;
-uniform sampler2DMS texture0;
-//uniform sampler2D texture0;
+//uniform sampler2DMS texture0;
+uniform sampler2D texture0;
void main()
{
- // oColor = texture(texture0, fTexCoord);
+ oColor = texture(texture0, fTexCoord);
// oColor = texelFetch(texture0, ivec2(gl_FragCoord.xy), 0);
- oColor = texelFetch(texture0, ivec2(gl_FragCoord.xy), gl_SampleID);
+ //oColor = texelFetch(texture0, ivec2(gl_FragCoord.xy), gl_SampleID);
}
diff --git a/src/main.c b/src/main.c
index 2ce529e..45a2519 100644
--- a/src/main.c
+++ b/src/main.c
@@ -226,9 +226,6 @@ GLuint shader_program_create(const char *name, struct shader *shaders, size_t nu
}, 2);
#define UNIFORM_LOC(shader, name) GLint loc_ ## name = glGetUniformLocation(shader, #name);
-
-#define EMBED(...) ((const char []) { __VA_ARGS__ })
-
#define BITS_FROM(x, i) ((x) & ((~0U) << (i))) // select all bits above and including bit i
#define BITS_TO(x, i) ((x) & ~((~0U) << (i))) // select all bits below bit i
@@ -377,7 +374,8 @@ int main()
atexit(glfwTerminate);
-#define SAMPLES 2
+#define SAMPLES 1
+#define UPSCALE 1
#if SAMPLES > 1
glfwWindowHint(GLFW_SAMPLES, SAMPLES);
@@ -407,6 +405,7 @@ int main()
glViewport(0, 0, win_width, win_height);
glfwSetFramebufferSizeCallback(window, &framebuffer_size_callback);
+ glfwSwapInterval(0);
const char wood_src[] = {
#include "wood.glsl.h"
@@ -560,7 +559,7 @@ int main()
#if SAMPLES > 1
glTexImage2DMultisample(GL_TEXTURE_2D_MULTISAMPLE, SAMPLES, GL_RGBA, win_width, win_height, GL_TRUE);
#else
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, win_width, win_height, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL);
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, win_width*UPSCALE, win_height*UPSCALE, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
#endif
@@ -569,7 +568,7 @@ int main()
#if SAMPLES > 1
glTexImage2DMultisample(GL_TEXTURE_2D_MULTISAMPLE, SAMPLES, GL_DEPTH_COMPONENT, win_width, win_height, GL_TRUE);
#else
- glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT, win_width, win_height, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_BYTE, NULL);
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT, win_width*UPSCALE, win_height*UPSCALE, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_BYTE, NULL);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
//glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_MODE, GL_COMPARE_REF_TO_TEXTURE);
@@ -590,7 +589,7 @@ int main()
// preview wood texture
mat4x4 proj;
- mat4x4_perspective(proj, 90.0, (float) win_width / (float) win_height, 1.0, 4.2);
+ mat4x4_perspective(proj, 90.0, (float) win_width / (float) win_height, 0.1, 10);
vec3 up;
vec3_norm(up, (vec3) { 0.0, 1.0, -1.0 });
@@ -624,7 +623,7 @@ int main()
mat4x4_mul(model, model, tmp);
//mat4x4_rotate_yw(tmp, angle);
- //mat4x4_rotate_Y(model, model, angle);
+ mat4x4_rotate_Y(model, model, angle);
glBindFramebuffer(GL_FRAMEBUFFER, 0);
glClear(GL_COLOR_BUFFER_BIT);
@@ -634,6 +633,7 @@ int main()
glClear(GL_DEPTH_BUFFER_BIT);
for (int i = 0; i < 8; i++) {
+ glViewport(0, 0, win_width*UPSCALE, win_height*UPSCALE);
glBindFramebuffer(GL_FRAMEBUFFER, framebuffers[i % 2]);
glEnable(GL_DEPTH_TEST);
glDepthFunc(GL_GREATER);
@@ -659,6 +659,7 @@ int main()
// blend result
+ glViewport(0, 0, win_width, win_height);
glBindFramebuffer(GL_FRAMEBUFFER, 0);
glDisable(GL_DEPTH_TEST);
glEnable(GL_BLEND);