diff --git a/ArchitectureColoredPainting/src/Renderer/Model.cpp b/ArchitectureColoredPainting/src/Renderer/Model.cpp index d6798b5..cea5989 100644 --- a/ArchitectureColoredPainting/src/Renderer/Model.cpp +++ b/ArchitectureColoredPainting/src/Renderer/Model.cpp @@ -108,6 +108,7 @@ void Renderer::Model::unloadModel() paintingLoaded.clear(); texturesLoaded.clear(); meshes.clear(); + paintingMeshes.clear(); minPos = glm::vec3(std::numeric_limits::max()); maxPos = glm::vec3(std::numeric_limits::min()); diff --git a/ArchitectureColoredPainting/src/Renderer/RenderPass.cpp b/ArchitectureColoredPainting/src/Renderer/RenderPass.cpp index a16e974..b8dc345 100644 --- a/ArchitectureColoredPainting/src/Renderer/RenderPass.cpp +++ b/ArchitectureColoredPainting/src/Renderer/RenderPass.cpp @@ -100,7 +100,7 @@ namespace Renderer } } - PageIDCallbackPass::PageIDCallbackPass(GladGLContext* gl, unsigned int& frameWidth, unsigned int& frameHeight, QOpenGLFramebufferObject*& fbo, GLuint* gBuffers, GLuint& gPageID, VirtualTextureManager& vtManager) + PageIDFeedbackPass::PageIDFeedbackPass(GladGLContext* gl, unsigned int& frameWidth, unsigned int& frameHeight, QOpenGLFramebufferObject*& fbo, GLuint* gBuffers, GLuint& gPageID, VirtualTextureManager& vtManager) : RenderPass(gl) , pageIdDownsampleShader(":/Shaders/pageId_downsample.comp") , frameWidth(frameWidth) @@ -112,7 +112,7 @@ namespace Renderer { } - void PageIDCallbackPass::dispatch() + void PageIDFeedbackPass::dispatch() { if (fbo->bind()) { diff --git a/ArchitectureColoredPainting/src/Renderer/RenderPass.h b/ArchitectureColoredPainting/src/Renderer/RenderPass.h index 3a690a1..218d9b1 100644 --- a/ArchitectureColoredPainting/src/Renderer/RenderPass.h +++ b/ArchitectureColoredPainting/src/Renderer/RenderPass.h @@ -49,10 +49,10 @@ namespace Renderer QMatrix4x4& view; }; - class PageIDCallbackPass : public RenderPass + class PageIDFeedbackPass : public RenderPass { public: - PageIDCallbackPass(GladGLContext* gl, unsigned int& frameWidth, unsigned int& frameHeight, QOpenGLFramebufferObject*& fbo, + PageIDFeedbackPass(GladGLContext* gl, unsigned int& frameWidth, unsigned int& frameHeight, QOpenGLFramebufferObject*& fbo, GLuint* gBuffers, GLuint& gPageID, VirtualTextureManager& vtManager); void dispatch(); private: diff --git a/ArchitectureColoredPainting/src/Renderer/RendererGLWidget.cpp b/ArchitectureColoredPainting/src/Renderer/RendererGLWidget.cpp index 476f360..c61ca57 100644 --- a/ArchitectureColoredPainting/src/Renderer/RendererGLWidget.cpp +++ b/ArchitectureColoredPainting/src/Renderer/RendererGLWidget.cpp @@ -138,7 +138,7 @@ void RendererGLWidget::initializeGL() shadowMapPass = std::make_unique(gl.get(), shadowFboHandle, shadowMapResolution, light, model); geometryPass = std::make_unique(gl.get(), frameWidth, frameHeight, fboPtr, model, projection, view); - pageIDCallbackPass = std::make_unique(gl.get(), frameWidth, frameHeight, fboPtr, gbuffers, gPageID, *vtManager); + pageIDFeedbackPass = std::make_unique(gl.get(), frameWidth, frameHeight, fboPtr, gbuffers, gPageID, *vtManager); lightingPass = std::make_unique(gl.get(), frameWidth, frameHeight, view, camera, light, gBaseColor, gNormal, gPosition, gMetallicRoughness, shadowGbuffer, irradianceMap, prefilterMap, brdfLUTTexture); skyboxPass = std::make_unique(gl.get(), fboPtr, projection, view, skyCubemap); @@ -210,7 +210,7 @@ void RendererGLWidget::paintGL() //vtManager->commitMutex.lock(); shadowMapPass->dispatch(); geometryPass->dispatch(); - pageIDCallbackPass->dispatch(); + pageIDFeedbackPass->dispatch(); //gl->Finish(); //vtManager->commitMutex.unlock(); lightingPass->dispatch(); diff --git a/ArchitectureColoredPainting/src/Renderer/RendererGLWidget.h b/ArchitectureColoredPainting/src/Renderer/RendererGLWidget.h index 5aa55ad..0fb9b1a 100644 --- a/ArchitectureColoredPainting/src/Renderer/RendererGLWidget.h +++ b/ArchitectureColoredPainting/src/Renderer/RendererGLWidget.h @@ -63,7 +63,7 @@ namespace Renderer std::unique_ptr shadowMapPass; std::unique_ptr geometryPass; - std::unique_ptr pageIDCallbackPass; + std::unique_ptr pageIDFeedbackPass; std::unique_ptr lightingPass; std::unique_ptr skyboxPass; std::unique_ptr toneMappingPass; diff --git a/README.md b/README.md index b578f67..2d00ae2 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# ArchitectureColoredPainting +# 古建筑彩绘计算机辅助设计系统 -古建筑彩绘计算机辅助设计系统 +本软件实现一种设计矢量纹案的软件工具,矢量纹理采用高效的数据结构存储,支持图案**复用**,支持将矢量图作为模型的纹理,用户可以利用软件中的图元引用、变换以及样式等功能方便地完成**矢量纹理的设计**;完成矢量纹理的设计后,可以将其应用在**三维模型**上,方便展示**模拟纹案的渲染后结果**,用户可以自由调整摄像机位置和缩放视野,模型中的矢量纹理**不会在缩放过程中失真**。 ## 依赖