+ | New output texture slider

This commit is contained in:
TheRedShip
2025-02-24 20:37:25 +01:00
committed by tomoron
parent 62d0863ff4
commit 47c0c38662
4 changed files with 14 additions and 5 deletions

View File

@ -6,7 +6,7 @@
/* By: ycontre <ycontre@student.42.fr> +#+ +:+ +#+ */ /* By: ycontre <ycontre@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2024/10/13 16:15:41 by TheRed #+# #+# */ /* Created: 2024/10/13 16:15:41 by TheRed #+# #+# */
/* Updated: 2025/03/17 15:24:12 by tomoron ### ########.fr */ /* Updated: 2025/03/18 16:17:38 by tomoron ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -42,7 +42,7 @@ class Window
GLFWwindow *getWindow(void) const; GLFWwindow *getWindow(void) const;
float getFps(void) const; float getFps(void) const;
int getFrameCount(void) const; int getFrameCount(void) const;
int getOutputTexture(void) const;
int getPixelisation(void); int getPixelisation(void);
bool &getAccumulate(void); bool &getAccumulate(void);
@ -57,6 +57,8 @@ class Window
Scene *_scene; Scene *_scene;
Renderer *_renderer; Renderer *_renderer;
Clusterizer *_clusterizer; Clusterizer *_clusterizer;
int _output_texture;
float _fps; float _fps;
float _delta; float _delta;

View File

@ -96,7 +96,7 @@ int main(int argc, char **argv)
window.imGuiNewFrame(); window.imGuiNewFrame();
render_program.use(); render_program.use();
drawScreenTriangle(VAO, textures[0], render_program.getProgram()); drawScreenTriangle(VAO, textures[window.getOutputTexture()], render_program.getProgram());
window.imGuiRender(raytracing_program); window.imGuiRender(raytracing_program);

View File

@ -6,7 +6,7 @@
/* By: ycontre <ycontre@student.42.fr> +#+ +:+ +#+ */ /* By: ycontre <ycontre@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2025/01/16 15:00:33 by tomoron #+# #+# */ /* Created: 2025/01/16 15:00:33 by tomoron #+# #+# */
/* Updated: 2025/02/06 02:19:50 by tomoron ### ########.fr */ /* Updated: 2025/03/18 16:45:15 by tomoron ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -62,7 +62,7 @@ glm::vec3 ObjParser::getNormals(std::stringstream &line)
{ {
glm::vec3 res; glm::vec3 res;
if(!(line >> res.x) || !(line >> res.y) || (!(line >> res.z)) && !line.eof()) if((!(line >> res.x) || !(line >> res.y) || (!(line >> res.z))) && !line.eof())
throw std::runtime_error("syntax error in obj file while parsing normal vertex"); throw std::runtime_error("syntax error in obj file while parsing normal vertex");
return(res); return(res);
} }

View File

@ -23,6 +23,7 @@ Window::Window(Scene *scene, int width, int height, const char *title, int sleep
_fps = 0; _fps = 0;
_frameCount = 0; _frameCount = 0;
_pixelisation = 0; _pixelisation = 0;
_output_texture = 0;
_renderer = new Renderer(scene, this, args); _renderer = new Renderer(scene, this, args);
_clusterizer = new Clusterizer(args, _renderer); _clusterizer = new Clusterizer(args, _renderer);
glfwSetErrorCallback(GLFWErrorCallback); glfwSetErrorCallback(GLFWErrorCallback);
@ -208,6 +209,7 @@ void Window::imGuiRender(ShaderProgram &raytracing_program)
ImGui::Text("Fps: %d", int(_fps)); ImGui::Text("Fps: %d", int(_fps));
ImGui::Text("Frame: %d", _frameCount); ImGui::Text("Frame: %d", _frameCount);
ImGui::Text("Objects: %lu", _scene->getObjectData().size() + _scene->getTriangleData().size()); ImGui::Text("Objects: %lu", _scene->getObjectData().size() + _scene->getTriangleData().size());
ImGui::SliderInt("Output texture", &_output_texture, 0, 7);
ImGui::Spacing(); ImGui::Spacing();
@ -363,6 +365,11 @@ bool &Window::getAccumulate(void)
return (accumulate); return (accumulate);
} }
int Window::getOutputTexture(void) const
{
return (_output_texture);
}
int Window::getPixelisation(void) int Window::getPixelisation(void)
{ {
bool mouse = glfwGetMouseButton(_window, GLFW_MOUSE_BUTTON_RIGHT) == GLFW_PRESS; bool mouse = glfwGetMouseButton(_window, GLFW_MOUSE_BUTTON_RIGHT) == GLFW_PRESS;