diff --git a/ArchitectureColoredPainting/ArchitectureColoredPainting.vcxproj b/ArchitectureColoredPainting/ArchitectureColoredPainting.vcxproj
index 6b49ff0..ac1871e 100644
--- a/ArchitectureColoredPainting/ArchitectureColoredPainting.vcxproj
+++ b/ArchitectureColoredPainting/ArchitectureColoredPainting.vcxproj
@@ -104,6 +104,7 @@
+
@@ -154,6 +155,7 @@
+
@@ -197,6 +199,7 @@
+
diff --git a/ArchitectureColoredPainting/ArchitectureColoredPainting.vcxproj.filters b/ArchitectureColoredPainting/ArchitectureColoredPainting.vcxproj.filters
index d32b61b..f60bea2 100644
--- a/ArchitectureColoredPainting/ArchitectureColoredPainting.vcxproj.filters
+++ b/ArchitectureColoredPainting/ArchitectureColoredPainting.vcxproj.filters
@@ -82,6 +82,9 @@
Form Files
+
+ Form Files
+
@@ -234,6 +237,9 @@
Source Files\Editor
+
+ Source Files
+
@@ -281,6 +287,9 @@
Header Files\Editor
+
+ Header Files
+
diff --git a/ArchitectureColoredPainting/EditorSetting.ui b/ArchitectureColoredPainting/EditorSetting.ui
new file mode 100644
index 0000000..3680069
--- /dev/null
+++ b/ArchitectureColoredPainting/EditorSetting.ui
@@ -0,0 +1,32 @@
+
+
+ EditorSettingWidget
+
+
+
+ 0
+ 0
+ 400
+ 300
+
+
+
+ Form
+
+
+ -
+
+
-
+
+
+ 设置背景颜色
+
+
+
+
+
+
+
+
+
+
diff --git a/ArchitectureColoredPainting/EditorSettingWidget.ui b/ArchitectureColoredPainting/EditorSettingWidget.ui
new file mode 100644
index 0000000..fc73390
--- /dev/null
+++ b/ArchitectureColoredPainting/EditorSettingWidget.ui
@@ -0,0 +1,63 @@
+
+
+ EditorSettingWidget
+
+
+
+ 0
+ 0
+ 400
+ 300
+
+
+
+ Form
+
+
+ -
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+
+ 120
+ 16777215
+
+
+
+ 设置背景颜色
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 120
+ 16777215
+
+
+
+ 设置项目名称
+
+
+
+
+
+
+
+
+
+
diff --git a/ArchitectureColoredPainting/EditorWidgetItem.ui b/ArchitectureColoredPainting/EditorWidgetItem.ui
index 73f9357..63fbd7d 100644
--- a/ArchitectureColoredPainting/EditorWidgetItem.ui
+++ b/ArchitectureColoredPainting/EditorWidgetItem.ui
@@ -147,7 +147,7 @@
- 1
+ 2
@@ -159,6 +159,11 @@
图元池
+
+
+ 设置
+
+
-
@@ -229,6 +234,12 @@
1
+
+ EditorSettingWidget
+ QWidget
+
+ 1
+
diff --git a/ArchitectureColoredPainting/res/Shaders/painting.comp b/ArchitectureColoredPainting/res/Shaders/painting.comp
index 3e8ede4..7324942 100644
--- a/ArchitectureColoredPainting/res/Shaders/painting.comp
+++ b/ArchitectureColoredPainting/res/Shaders/painting.comp
@@ -4,6 +4,11 @@ layout(local_size_x = 8, local_size_y = 8) in;
layout(location = 0) uniform ivec2 pixelOffset;
+layout(std140, binding = 1) uniform ubo
+{
+ vec3 backgroundColor;
+};
+
layout(rgba8, binding = 0) uniform image2D gBaseColor;
layout(rg8, binding = 1) uniform image2D gMetallicRoughness;
@@ -1353,7 +1358,7 @@ void main()
vec3 debugBVH = vec3(0);
// bool debugHit = false;
//vec4 color = vec4(0.76, 0.33, 0.15, -1);
- vec4 color = vec4(1,1,1, -1);
+ vec4 color = vec4(backgroundColor, -1);
vec2 metallicRoughness = vec2(0, 0.8);
stack.top = 0;
uint index = 0, visitTime = 0;
diff --git a/ArchitectureColoredPainting/src/Editor/EditorWidget.cpp b/ArchitectureColoredPainting/src/Editor/EditorWidget.cpp
index b51987b..97898fb 100644
--- a/ArchitectureColoredPainting/src/Editor/EditorWidget.cpp
+++ b/ArchitectureColoredPainting/src/Editor/EditorWidget.cpp
@@ -47,3 +47,11 @@ EditorWidget::EditorWidget(QWidget* parent) : QWidget(parent)
});
}
+void EditorWidget::renameTab(QWidget* target, QString name)
+{
+ int index = this->tabWidget->indexOf(target);
+ if (index != -1)
+ {
+ this->tabWidget->setTabText(index, name);
+ }
+}
\ No newline at end of file
diff --git a/ArchitectureColoredPainting/src/Editor/EditorWidget.h b/ArchitectureColoredPainting/src/Editor/EditorWidget.h
index b0cfe2f..0986609 100644
--- a/ArchitectureColoredPainting/src/Editor/EditorWidget.h
+++ b/ArchitectureColoredPainting/src/Editor/EditorWidget.h
@@ -18,6 +18,6 @@ private:
public:
EditorWidget(QWidget* parent = nullptr);
~EditorWidget()=default;
-
+ void renameTab(QWidget* target, QString name);
};
diff --git a/ArchitectureColoredPainting/src/Editor/EditorWidgetItem.cpp b/ArchitectureColoredPainting/src/Editor/EditorWidgetItem.cpp
index 41d175f..8f6afc9 100644
--- a/ArchitectureColoredPainting/src/Editor/EditorWidgetItem.cpp
+++ b/ArchitectureColoredPainting/src/Editor/EditorWidgetItem.cpp
@@ -1,8 +1,11 @@
#include "EditorWidgetItem.h"
+#include "EditorWidget.h"
+#include
EditorWidgetItem::EditorWidgetItem(QString filePath,QWidget *parent) : QWidget(parent)
{
QImage x;
+ this->parent = parent;
displayLayer = nullptr;
displayElement = nullptr;
ui.setupUi(this);
@@ -12,9 +15,12 @@ EditorWidgetItem::EditorWidgetItem(QString filePath,QWidget *parent) : QWidget(p
this->filePath = filePath;
layerInfoDisplayWidget = dynamic_cast(tabWidget->widget(0));
elementInfoDisplayWidget = dynamic_cast(tabWidget->widget(1));
+ editorSettingWidget = dynamic_cast(tabWidget->widget(2));
elementInfoDisplayWidget->enableEdit();
qDebug() << layerInfoDisplayWidget;
qDebug() << elementInfoDisplayWidget;
+ connect(editorSettingWidget, &EditorSettingWidget::backgroundColorChanged, this, &EditorWidgetItem::handleBackgroundColorChange);
+ connect(editorSettingWidget, &EditorSettingWidget::projectNameChanged, this, &EditorWidgetItem::handleProjectNameChange);
connect(previewWindow, &PreviewWindow::refreshElementPreviewByIndex, elementInfoDisplayWidget, &ElementPoolWidget::refreshPictureByIndex);
connect(previewWindow, &PreviewWindow::layerInfoChanged, layerInfoDisplayWidget, &InfoDisplayWidget::triggerSelfRefresh);
connect(treeWidget, &LayerTreeWidget::displayLayerChange, previewWindow, &PreviewWindow::currentLayerChanged);
@@ -53,6 +59,15 @@ EditorWidgetItem::EditorWidgetItem(QString filePath,QWidget *parent) : QWidget(p
treeWidget->refresh();
treeWidget->addTopLevelItem(treeWidget->root->getQTreeItem());
}
+ this->backgroundColor = source.value("background-color").toVariant().value();
+ this->projectName = source.value("project-name").toString();
+ qDebug() << this->backgroundColor;
+ qDebug() << this->projectName;
+ QTimer::singleShot(300, this, [this]() {
+ handleBackgroundColorChange(this->backgroundColor);
+ handleProjectNameChange(this->projectName);
+ });
+
}
EditorWidgetItem::~EditorWidgetItem()
@@ -100,9 +115,28 @@ void EditorWidgetItem::saveImpl(QString filePath) const
json.insert("height", 1080);
json.insert("root-layer", source1.value("root-layer"));
json.insert("elements", source2.value("elements"));
+ json.insert("project-name", this->projectName);
+ json.insert("background-color", QJsonValue::fromVariant(QVariant::fromValue(this->backgroundColor)));
QJsonDocument doc(json);
QFile file(filePath);
file.open(QIODevice::WriteOnly);
file.write(doc.toJson());
file.close();
+}
+
+void EditorWidgetItem::handleBackgroundColorChange(QColor color)
+{
+ this->backgroundColor = color;
+ previewWindow->setBackgroundColor(color);
+}
+
+void EditorWidgetItem::handleProjectNameChange(QString name)
+{
+ this->projectName = name;
+ auto parent = dynamic_cast(this->parent);
+ qDebug() << name << " " << parent<<" "<renameTab(this, name);
+ }
}
\ No newline at end of file
diff --git a/ArchitectureColoredPainting/src/Editor/EditorWidgetItem.h b/ArchitectureColoredPainting/src/Editor/EditorWidgetItem.h
index 9fc5be8..409374a 100644
--- a/ArchitectureColoredPainting/src/Editor/EditorWidgetItem.h
+++ b/ArchitectureColoredPainting/src/Editor/EditorWidgetItem.h
@@ -6,6 +6,7 @@
#include "LayerManager.h"
#include "LayerTreeWidget.h"
#include "PreviewWindow.h"
+#include "EditorSettingWidget.h"
#include "ui_EditorWidgetItem.h"
#include
#include
@@ -26,11 +27,17 @@ class EditorWidgetItem : public QWidget
QTabWidget *tabWidget;
InfoDisplayWidget* layerInfoDisplayWidget;
ElementPoolWidget* elementInfoDisplayWidget;
+ EditorSettingWidget* editorSettingWidget;
// QT DATA PART
LayerWrapper *displayLayer;
GraphicElement *displayElement;
- QString filePath;
+ QWidget* parent;
void saveImpl(QString filePath)const;
+public:
+ // PROJECT INFO
+ QString filePath;
+ QString projectName;
+ QColor backgroundColor;
public:
EditorWidgetItem(QString filePath, QWidget *parent = nullptr);
@@ -38,6 +45,8 @@ class EditorWidgetItem : public QWidget
void paintEvent(QPaintEvent *event) override;
void save() const;
void saveAs(QString filePath)const;
+ void handleBackgroundColorChange(QColor color);
+ void handleProjectNameChange(QString name);
private slots:
void onLayerChange(LayerWrapper *layer);
diff --git a/ArchitectureColoredPainting/src/Editor/GraphicElement.cpp b/ArchitectureColoredPainting/src/Editor/GraphicElement.cpp
index 6823669..f515210 100644
--- a/ArchitectureColoredPainting/src/Editor/GraphicElement.cpp
+++ b/ArchitectureColoredPainting/src/Editor/GraphicElement.cpp
@@ -92,7 +92,7 @@ QJsonObject GroupElement::toJson() const
return result;
}
-void SimpleElement::paint(QPainter* painter, QTransform transform, const vector> &styles)
+void SimpleElement::paint(QPainter* painter, QTransform transform, const vector>& styles)
{
painter->save();
painter->setTransform(transform);
@@ -102,12 +102,15 @@ void SimpleElement::paint(QPainter* painter, QTransform transform, const vector<
}
else
{
- Renderer::ElementStyleStrokeDemo demo(2);
std::shared_ptr style;
style = styles[0];
- QVector2D scale(transform.m11(), transform.m22());
- scale /= transform.m33();
- double maxScale = std::max(scale.x(), scale.y());
+
+ double angle = atan(transform.m12() / transform.m11());
+ double maxScale;
+ if (fabs(cos(angle))>1e-5)
+ maxScale = std::max(fabs(transform.m11() / cos(angle)), fabs(transform.m22() / cos(angle)));
+ else
+ maxScale = std::max(fabs(transform.m12() / sin(angle)), fabs(transform.m21() / sin(angle)));
double pixelRatio = maxScale * QGuiApplication::primaryScreen()->devicePixelRatio();
auto [img, mov] = Renderer::ElementRenderer::instance()->drawElement(painterPath, *style, pixelRatio);
transform.translate(mov.x(), mov.y());
@@ -117,7 +120,7 @@ void SimpleElement::paint(QPainter* painter, QTransform transform, const vector<
painter->restore();
}
-void GroupElement::paint(QPainter* painter, QTransform transform, const vector> &styles)
+void GroupElement::paint(QPainter* painter, QTransform transform, const vector>& styles)
{
sourceLayer->paint(painter, transform);
}
@@ -125,7 +128,7 @@ void GroupElement::paint(QPainter* painter, QTransform transform, const vector
paint(&painter, QTransform(), true);
painter.end();
- QRect rect (cache.getBoundingRect().toRect());
+ QRect rect(cache.getBoundingRect().toRect());
rect.setTopLeft(rect.topLeft() - QPoint(5, 5));
rect.setBottomRight(rect.bottomRight() + QPoint(5, 5));
result = result.copy(rect);
diff --git a/ArchitectureColoredPainting/src/Editor/PreviewWindow.cpp b/ArchitectureColoredPainting/src/Editor/PreviewWindow.cpp
index 05b05e5..c4a03b5 100644
--- a/ArchitectureColoredPainting/src/Editor/PreviewWindow.cpp
+++ b/ArchitectureColoredPainting/src/Editor/PreviewWindow.cpp
@@ -13,6 +13,7 @@ PreviewWindow::PreviewWindow(QWidget *parent) : QOpenGLWidget(parent)
painter->setRenderHint(QPainter::HighQualityAntialiasing);
layerManager = nullptr;
currentLayer = nullptr;
+ backgroundColor = QColor(255, 255, 255, 255);
}
void PreviewWindow::initialize(LayerManager *layerManager,QSize windowSize)
@@ -44,7 +45,7 @@ void PreviewWindow::initializeGL()
void PreviewWindow::paintGL()
{
- glClearColor(1.0, 1.0, 1.0, 1.0);
+ glClearColor(backgroundColor.redF(), backgroundColor.greenF(), backgroundColor.blueF(), backgroundColor.alphaF());
glClear(GL_COLOR_BUFFER_BIT);
painter->begin(this);
painter->setRenderHint(QPainter::Antialiasing);
@@ -112,4 +113,10 @@ void PreviewWindow::mouseMoveEvent(QMouseEvent* event)
void PreviewWindow::mouseReleaseEvent(QMouseEvent* event)
{
emit layerInfoChanged();
+}
+
+void PreviewWindow::setBackgroundColor(QColor color)
+{
+ this->backgroundColor = color;
+ this->repaint();
}
\ No newline at end of file
diff --git a/ArchitectureColoredPainting/src/Editor/PreviewWindow.h b/ArchitectureColoredPainting/src/Editor/PreviewWindow.h
index 70a033b..9f9d07c 100644
--- a/ArchitectureColoredPainting/src/Editor/PreviewWindow.h
+++ b/ArchitectureColoredPainting/src/Editor/PreviewWindow.h
@@ -23,6 +23,7 @@ class PreviewWindow : public QOpenGLWidget, protected QOpenGLFunctions
QRectF viewportRect;
LayerWrapper* currentLayer;
QPointF m_lastPos;
+ QColor backgroundColor;
void mousePressEvent(QMouseEvent* event) override;
void mouseMoveEvent(QMouseEvent* event) override;
void mouseReleaseEvent(QMouseEvent* event) override;
@@ -35,6 +36,7 @@ class PreviewWindow : public QOpenGLWidget, protected QOpenGLFunctions
void paintGL() override;
void resizeGL(int w, int h) override;
Renderer::ElementRenderer* const getRenderer()const;
+ void setBackgroundColor(QColor color);
public slots:
void currentLayerChanged(LayerWrapper*);
diff --git a/ArchitectureColoredPainting/src/Editor/RightBar/EditorSettingWidget.cpp b/ArchitectureColoredPainting/src/Editor/RightBar/EditorSettingWidget.cpp
new file mode 100644
index 0000000..2f54a22
--- /dev/null
+++ b/ArchitectureColoredPainting/src/Editor/RightBar/EditorSettingWidget.cpp
@@ -0,0 +1,21 @@
+#include "EditorSettingWidget.h"
+#include
+#include
+#include
+
+EditorSettingWidget::EditorSettingWidget(QWidget* parent)
+ : QWidget(parent)
+{
+ ui.setupUi(this);
+ connect(ui.backgroundColorButton, &QPushButton::clicked, this, [this]() {
+ QColor color = QColorDialog::getColor(Qt::white, this, QString::fromLocal8Bit("ѡɫ"));
+ if (color.isValid())
+ {
+ emit backgroundColorChanged(color);
+ }
+ });
+ connect(ui.renameButton, &QPushButton::clicked, this, [this]() {
+ QString name = QInputDialog::getText(this, QString::fromLocal8Bit(""), QString::fromLocal8Bit("µĿ"));
+ emit projectNameChanged(name);
+ });
+}
\ No newline at end of file
diff --git a/ArchitectureColoredPainting/src/Editor/RightBar/EditorSettingWidget.h b/ArchitectureColoredPainting/src/Editor/RightBar/EditorSettingWidget.h
new file mode 100644
index 0000000..ba0166c
--- /dev/null
+++ b/ArchitectureColoredPainting/src/Editor/RightBar/EditorSettingWidget.h
@@ -0,0 +1,21 @@
+#pragma once
+#include
+#include "ui_EditorSettingWidget.h"
+
+class EditorSettingWidget :
+ public QWidget
+{
+ Q_OBJECT;
+
+ private:
+ Ui::EditorSettingWidget ui;
+
+ public:
+ EditorSettingWidget(QWidget* parent = nullptr);
+
+ signals:
+ void backgroundColorChanged(QColor);
+ void projectNameChanged(QString);
+
+};
+
diff --git a/ArchitectureColoredPainting/src/Renderer/Model.cpp b/ArchitectureColoredPainting/src/Renderer/Model.cpp
index 4f62c3b..e96d36a 100644
--- a/ArchitectureColoredPainting/src/Renderer/Model.cpp
+++ b/ArchitectureColoredPainting/src/Renderer/Model.cpp
@@ -273,7 +273,8 @@ GLuint Renderer::Model::loadPainting(std::string path)
}
else if (path == "1.json")
{
- float widths[] = { 0.43, 0.43 * 0.25 / 0.15, 0.43 * 0.25 / 0.15 };
+ painting.backgroundColor = QColor(196, 81, 35);
+ float widths[] = { 0.22, 0.22 * 0.25 / 0.15, 0.22 * 0.25 / 0.15 };
QPainterPath painterPaths[6];
for (int i = 0; i < 6; i++)
if (!SvgFileLoader().loadSvgFile(QString(std::format("../svg/{}.svg", i + 1).c_str()), painterPaths[i]))
diff --git a/ArchitectureColoredPainting/src/Renderer/Painting/Painting.cpp b/ArchitectureColoredPainting/src/Renderer/Painting/Painting.cpp
index 3d1fb2a..afd7e04 100644
--- a/ArchitectureColoredPainting/src/Renderer/Painting/Painting.cpp
+++ b/ArchitectureColoredPainting/src/Renderer/Painting/Painting.cpp
@@ -9,7 +9,7 @@ using namespace Renderer;
constexpr int kMaxLineCount = 20;
-Painting::Painting()
+Painting::Painting(QColor backgroundColor) : backgroundColor(backgroundColor)
{
}
@@ -171,18 +171,21 @@ void Painting::generateBuffers(QOpenGLFunctions_4_5_Core* glFunc)
//std::cout << std::format("{} {} {} {}\n", contourBuffer->bvhOffset, stylePool[i.first->style], contourBuffer->pointsOffset, contourBuffer->linesOffset);
}
- glFunc->glCreateBuffers(5, buffers.data());
+ glFunc->glCreateBuffers(6, buffers.data());
GLuint& bvhSSBO = buffers[0];
GLuint& bvhBoundSSBO = buffers[1];
GLuint& elementOffsetSSBO = buffers[2];
GLuint& elementIndexSSBO = buffers[3];
GLuint& elementDataSSBO = buffers[4];
+ GLuint& backgroundColorUBO = buffers[5];
glFunc->glNamedBufferData(buffers[0], bvhChildren.size() * sizeof(bvhChildren[0]), bvhChildren.data(), GL_STATIC_READ);
glFunc->glNamedBufferData(buffers[1], bvhBounds.size() * sizeof(bvhBounds[0]), bvhBounds.data(), GL_STATIC_READ);
glFunc->glNamedBufferData(buffers[2], elementOffsets.size() * sizeof(elementOffsets[0]), elementOffsets.data(), GL_STATIC_READ);
glFunc->glNamedBufferData(buffers[3], elementIndex.size() * sizeof(elementIndex[0]), elementIndex.data(), GL_STATIC_READ);
glFunc->glNamedBufferData(buffers[4], elementData.size() * sizeof(elementData[0]), elementData.data(), GL_STATIC_READ);
+ glm::vec3 color(backgroundColor.redF(), backgroundColor.greenF(), backgroundColor.blueF());
+ glFunc->glNamedBufferData(buffers[5], sizeof(glm::vec3), &color, GL_STATIC_READ);
}
GLuint Renderer::Painting::getElementCount()
diff --git a/ArchitectureColoredPainting/src/Renderer/Painting/Painting.h b/ArchitectureColoredPainting/src/Renderer/Painting/Painting.h
index ab8f31a..9194040 100644
--- a/ArchitectureColoredPainting/src/Renderer/Painting/Painting.h
+++ b/ArchitectureColoredPainting/src/Renderer/Painting/Painting.h
@@ -64,9 +64,10 @@ namespace Renderer
std::vector elementIndex;
std::vector elementData;
int paintingId = 0;
- std::array buffers;
+ std::array buffers;
+ QColor backgroundColor;
- Painting();
+ Painting(QColor backgroundColor = Qt::white);
void addElement(const Element& element, const ElementTransform& transform);
void addElement(std::shared_ptr element, QVector4D bound, float rotation, int zIndex);
void generateBuffers(QOpenGLFunctions_4_5_Core* glFunc);
diff --git a/ArchitectureColoredPainting/src/Renderer/VirtualTextureManager.cpp b/ArchitectureColoredPainting/src/Renderer/VirtualTextureManager.cpp
index eeba398..b926ad4 100644
--- a/ArchitectureColoredPainting/src/Renderer/VirtualTextureManager.cpp
+++ b/ArchitectureColoredPainting/src/Renderer/VirtualTextureManager.cpp
@@ -126,6 +126,7 @@ std::uint16_t Renderer::VirtualTextureManager::createVirtualTexture(Painting pai
for (int i = 0; i < 5; i++)
glMain->BindBufferBase(GL_SHADER_STORAGE_BUFFER, i, painting.buffers[i]);
+ glMain->BindBufferBase(GL_UNIFORM_BUFFER, 1, painting.buffers[5]);
for (auto level = levels - 1; level < levels; ++level)
{
@@ -143,7 +144,7 @@ std::uint16_t Renderer::VirtualTextureManager::createVirtualTexture(Painting pai
GL_TRUE);
program.bind();
- glMain->Uniform2i(gl->GetUniformLocation(program.programId(), "pixelOffset"), static_cast(pageSize) * i, static_cast(pageSize) * j);
+ glMain->Uniform2i(0 /*pixelOffset*/, static_cast(pageSize) * i, static_cast(pageSize) * j);
glMain->BindImageTexture(0, baseColor, level, GL_FALSE, 0, GL_READ_WRITE, GL_RGBA8);
glMain->BindImageTexture(1, metallicRoughness, level, GL_FALSE, 0, GL_READ_WRITE, GL_RG8);
glMain->DispatchCompute(pageSize / 8, pageSize / 8, 1);
@@ -190,6 +191,7 @@ void Renderer::VirtualTextureManager::pageCommitmentById(const glm::u16vec2& pag
program.bind();
for (int i = 0; i < 5; i++)
gl->BindBufferBase(GL_SHADER_STORAGE_BUFFER, i, painting.buffers[i]);
+ glMain->BindBufferBase(GL_UNIFORM_BUFFER, 1, painting.buffers[5]);
gl->Uniform2i(gl->GetUniformLocation(program.programId(), "pixelOffset"), static_cast(pageSize) * page.x, static_cast(pageSize) * page.y);
gl->BindImageTexture(0, painting.baseColor, level, GL_FALSE, 0, GL_READ_WRITE, GL_RGBA8);
gl->BindImageTexture(1, painting.metallicRoughness, level, GL_FALSE, 0, GL_READ_WRITE, GL_RG8);
diff --git a/ArchitectureColoredPainting/src/Renderer/VirtualTextureManager.h b/ArchitectureColoredPainting/src/Renderer/VirtualTextureManager.h
index e1d3a03..520800b 100644
--- a/ArchitectureColoredPainting/src/Renderer/VirtualTextureManager.h
+++ b/ArchitectureColoredPainting/src/Renderer/VirtualTextureManager.h
@@ -15,7 +15,7 @@ namespace Renderer
{
GLuint baseColor;
GLuint metallicRoughness;
- std::array buffers;
+ std::array buffers;
};
class VirtualTextureManager
diff --git a/ArchitectureColoredPainting/src/main.cpp b/ArchitectureColoredPainting/src/main.cpp
index 6ef683c..5bf6bbe 100644
--- a/ArchitectureColoredPainting/src/main.cpp
+++ b/ArchitectureColoredPainting/src/main.cpp
@@ -5,6 +5,7 @@
#include
#include
#include "consoleapi2.h"
+#include
extern "C"
{
@@ -50,6 +51,9 @@ int main(int argc, char* argv[])
QApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::PassThrough);
QApplication a(argc, argv);
Q_INIT_RESOURCE(resources);
+ QtMaterialTheme theme;
+ theme.setColor("primary1", QColor(0, 90, 158));
+ QtMaterialStyle::instance().setTheme(&theme);
//FramelessHelper::Core::setApplicationOSThemeAware();
FramelessConfig::instance()->set(Global::Option::ForceNonNativeBackgroundBlur);
//FramelessConfig::instance()->set(Global::Option::EnableBlurBehindWindow);
diff --git a/data.json b/data.json
index 4f381cb..93398a4 100644
--- a/data.json
+++ b/data.json
@@ -1,4 +1,6 @@
{
+ "project-name": "样例1",
+ "background-color": "#ffffff",
"height": 1080,
"width": 1080,
"elements": [