From 8adeefad9cb3c70d08eb0c0da9af2c44e0266906 Mon Sep 17 00:00:00 2001 From: Almamu Date: Wed, 16 Apr 2025 17:14:10 +0200 Subject: [PATCH] chore: more debug info for the pretty printer --- .../PrettyPrinter/CPrettyPrinter.cpp | 28 +++++++++++++++++++ .../Render/Objects/Effects/CPass.cpp | 4 +++ .../Render/Objects/Effects/CPass.h | 5 ++-- 3 files changed, 35 insertions(+), 2 deletions(-) diff --git a/src/WallpaperEngine/PrettyPrinter/CPrettyPrinter.cpp b/src/WallpaperEngine/PrettyPrinter/CPrettyPrinter.cpp index fd9182e..a8ee455 100644 --- a/src/WallpaperEngine/PrettyPrinter/CPrettyPrinter.cpp +++ b/src/WallpaperEngine/PrettyPrinter/CPrettyPrinter.cpp @@ -219,6 +219,34 @@ void CPrettyPrinter::printPass (const CPass& pass, int passId) { this->decreaseIndentation (); } + const auto fragmentTextures = pass.getShader ()->getFragmentTextures(); + + if (fragmentTextures.size () > 0) { + this->m_out << "Fragment textures " << fragmentTextures.size () << ":"; + this->increaseIndentation (); + + for (const auto& texture : fragmentTextures) { + this->m_out << texture.first << ": " << texture.second; + this->lineEnd (); + } + + this->decreaseIndentation (); + } + + const auto vertexTextures = pass.getShader ()->getVertexTextures (); + + if (vertexTextures.size () > 0) { + this->m_out << "Vertex textures " << textures.size () << ":"; + this->increaseIndentation (); + + for (const auto& texture : vertexTextures) { + this->m_out << texture.first << ": " << texture.second; + this->lineEnd (); + } + + this->decreaseIndentation (); + } + const auto combos = base->getCombos(); if (combos.size () > 0) { diff --git a/src/WallpaperEngine/Render/Objects/Effects/CPass.cpp b/src/WallpaperEngine/Render/Objects/Effects/CPass.cpp index 8c0b7a7..d7df368 100644 --- a/src/WallpaperEngine/Render/Objects/Effects/CPass.cpp +++ b/src/WallpaperEngine/Render/Objects/Effects/CPass.cpp @@ -314,6 +314,10 @@ const Core::Objects::Images::Materials::CPass* CPass::getPass () const { return this->m_pass; } +Render::Shaders::CShader* CPass::getShader () const { + return this->m_shader; +} + GLuint CPass::compileShader (const char* shader, GLuint type) { // reserve shaders in OpenGL const GLuint shaderID = glCreateShader (type); diff --git a/src/WallpaperEngine/Render/Objects/Effects/CPass.h b/src/WallpaperEngine/Render/Objects/Effects/CPass.h index 348b3a8..26581f4 100644 --- a/src/WallpaperEngine/Render/Objects/Effects/CPass.h +++ b/src/WallpaperEngine/Render/Objects/Effects/CPass.h @@ -35,10 +35,11 @@ class CPass final : public Helpers::CContextAware { void setModelMatrix (const glm::mat4* model); void setViewProjectionMatrix (const glm::mat4* viewProjection); void setBlendingMode (std::string blendingmode); - const std::string& getBlendingMode () const; + [[nodiscard]] const std::string& getBlendingMode () const; [[nodiscard]] const CMaterial* getMaterial () const; - const Core::Objects::Images::Materials::CPass* getPass () const; + [[nodiscard]] const Core::Objects::Images::Materials::CPass* getPass () const; + [[nodiscard]] Render::Shaders::CShader* getShader () const; private: enum UniformType {