From c426b8078bd85132e3c64d1f4a079c3b56887722 Mon Sep 17 00:00:00 2001 From: RedShip Date: Sun, 2 Feb 2025 19:45:26 +0100 Subject: [PATCH] + | Denoising texture --- includes/RT/Shader.hpp | 3 ++- srcs/RT.cpp | 2 +- srcs/class/Shader.cpp | 11 ++++++++++- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/includes/RT/Shader.hpp b/includes/RT/Shader.hpp index 2f37aff..2f4db93 100644 --- a/includes/RT/Shader.hpp +++ b/includes/RT/Shader.hpp @@ -6,7 +6,7 @@ /* By: ycontre +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/10/13 18:10:10 by TheRed #+# #+# */ -/* Updated: 2025/01/30 22:27:43 by tomoron ### ########.fr */ +/* Updated: 2025/02/02 19:42:13 by ycontre ### ########.fr */ /* */ /* ************************************************************************** */ @@ -49,6 +49,7 @@ class Shader GLuint _output_texture; GLuint _accumulation_texture; + GLuint _denoising_texture; GLuint _vertex; GLuint _fragment; diff --git a/srcs/RT.cpp b/srcs/RT.cpp index 964f009..96a41e7 100644 --- a/srcs/RT.cpp +++ b/srcs/RT.cpp @@ -6,7 +6,7 @@ /* By: ycontre +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/09/27 14:51:49 by TheRed #+# #+# */ -/* Updated: 2025/01/30 22:29:00 by tomoron ### ########.fr */ +/* Updated: 2025/02/02 19:44:53 by ycontre ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/srcs/class/Shader.cpp b/srcs/class/Shader.cpp index 5c00257..9992b8d 100644 --- a/srcs/class/Shader.cpp +++ b/srcs/class/Shader.cpp @@ -6,7 +6,7 @@ /* By: ycontre +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/10/13 20:21:13 by ycontre #+# #+# */ -/* Updated: 2025/01/30 22:29:39 by tomoron ### ########.fr */ +/* Updated: 2025/02/02 19:44:13 by ycontre ### ########.fr */ /* */ /* ************************************************************************** */ @@ -136,6 +136,15 @@ void Shader::attach(void) glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA32F, WIDTH, HEIGHT, 0, GL_RGBA, GL_FLOAT, NULL); glBindImageTexture(1, _accumulation_texture, 0, GL_FALSE, 0, GL_READ_WRITE, GL_RGBA32F); + + glGenTextures(1, &_denoising_texture); + glBindTexture(GL_TEXTURE_2D, _denoising_texture); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA32F, WIDTH, HEIGHT, 0, GL_RGBA, GL_FLOAT, NULL); + glBindImageTexture(2, _denoising_texture, 0, GL_FALSE, 0, GL_READ_WRITE, GL_RGBA32F); } void Shader::checkCompileErrors(GLuint shader)