diff --git a/4_L0.json b/4_L0.json new file mode 100644 index 0000000..2465bb6 --- /dev/null +++ b/4_L0.json @@ -0,0 +1,424 @@ +{ + "background-color": "#b7a386", + "elements": [ + { + "data": { + "include": "../svg/2.svg" + }, + "name": "ababa", + "type": "svg-file" + }, + { + "data": { + "reference-layer": "0.0" + }, + "name": "ababa-group", + "type": "group" + }, + { + "data": { + "include": "../svg/0.svg" + }, + "name": "ababa2", + "type": "svg-file" + }, + { + "data": { + "include": "D:/BigC2022/temp/ArchitectureColoredPainting/svg/4_L0-fill.svg" + }, + "name": "4_L0-fill.svg", + "type": "svg-file" + } + ], + "height": 1080, + "project-name": "样例1", + "root-layer": { + "children": [ + { + "children": [ + { + "element": 3, + "is-folder": false, + "name": "4_L0", + "styles": [ + { + "material": "AH8A/2pkiv8=", + "type": "fill" + }, + { + "enableEachSideIndependent": true, + "left": "AADAQAEAJJwAf///9dKG/w==", + "right": "AADgQAAACpw=", + "type": "stroke" + } + ], + "transform": { + "offset": { + "x": -230, + "y": -533 + }, + "rotation": 0, + "scale": { + "x": 0.32341007644113307, + "y": 0.32341007644113307 + } + } + } + ], + "is-folder": true, + "name": "GroupFolderExample", + "referenced-by": 1, + "transform": { + "offset": { + "x": 50, + "y": 50 + }, + "rotation": 0, + "scale": { + "x": 1, + "y": 1 + } + } + }, + { + "element": 1, + "is-folder": false, + "name": "aaaa2", + "styles": [ + ], + "transform": { + "offset": { + "x": 127, + "y": -109 + }, + "rotation": 90, + "scale": { + "x": 1, + "y": 1 + } + } + }, + { + "element": 1, + "is-folder": false, + "name": "aaaa3", + "styles": [ + ], + "transform": { + "offset": { + "x": 232, + "y": 17 + }, + "rotation": 180, + "scale": { + "x": 1, + "y": 1 + } + } + }, + { + "element": 1, + "is-folder": false, + "name": "aaaa4", + "styles": [ + ], + "transform": { + "offset": { + "x": 103, + "y": 130 + }, + "rotation": 270, + "scale": { + "x": 1, + "y": 1 + } + } + }, + { + "element": 1, + "is-folder": false, + "name": "bbbb1", + "styles": [ + ], + "transform": { + "offset": { + "x": 197, + "y": 265 + }, + "rotation": 0, + "scale": { + "x": 1, + "y": 1 + } + } + }, + { + "element": 1, + "is-folder": false, + "name": "bbbb2", + "styles": [ + ], + "transform": { + "offset": { + "x": 323, + "y": 156 + }, + "rotation": 90, + "scale": { + "x": 1, + "y": 1 + } + } + }, + { + "element": 1, + "is-folder": false, + "name": "bbbb3", + "styles": [ + ], + "transform": { + "offset": { + "x": 432, + "y": 285 + }, + "rotation": 180, + "scale": { + "x": 1, + "y": 1 + } + } + }, + { + "element": 1, + "is-folder": false, + "name": "bbbb4", + "styles": [ + ], + "transform": { + "offset": { + "x": 302, + "y": 399 + }, + "rotation": 270, + "scale": { + "x": 1, + "y": 1 + } + } + }, + { + "element": 1, + "is-folder": false, + "name": "cccc1", + "styles": [ + ], + "transform": { + "offset": { + "x": 467, + "y": 71 + }, + "rotation": 0, + "scale": { + "x": 1, + "y": 1 + } + } + }, + { + "element": 1, + "is-folder": false, + "name": "cccc2", + "styles": [ + ], + "transform": { + "offset": { + "x": 361, + "y": -70 + }, + "rotation": 90, + "scale": { + "x": 1, + "y": 1 + } + } + }, + { + "element": 1, + "is-folder": false, + "name": "cccc3", + "styles": [ + ], + "transform": { + "offset": { + "x": 273, + "y": -211 + }, + "rotation": 180, + "scale": { + "x": 1, + "y": 1 + } + } + }, + { + "element": 1, + "is-folder": false, + "name": "cccc4", + "styles": [ + ], + "transform": { + "offset": { + "x": 574, + "y": 198 + }, + "rotation": 270, + "scale": { + "x": 1, + "y": 1 + } + } + }, + { + "element": 1, + "is-folder": false, + "name": "dddd1", + "styles": [ + ], + "transform": { + "offset": { + "x": 33, + "y": -231 + }, + "rotation": 0, + "scale": { + "x": 1, + "y": 1 + } + } + }, + { + "element": 1, + "is-folder": false, + "name": "dddd2", + "styles": [ + ], + "transform": { + "offset": { + "x": 55, + "y": 352 + }, + "rotation": 90, + "scale": { + "x": 1, + "y": 1 + } + } + }, + { + "element": 1, + "is-folder": false, + "name": "dddd3", + "styles": [ + ], + "transform": { + "offset": { + "x": -40, + "y": 220 + }, + "rotation": 180, + "scale": { + "x": 1, + "y": 1 + } + } + }, + { + "element": 1, + "is-folder": false, + "name": "dddd4", + "styles": [ + ], + "transform": { + "offset": { + "x": 0, + "y": 0 + }, + "rotation": 0, + "scale": { + "x": 1, + "y": 1 + } + } + }, + { + "element": 1, + "is-folder": false, + "name": "eeee1", + "styles": [ + ], + "transform": { + "offset": { + "x": 0, + "y": 0 + }, + "rotation": 0, + "scale": { + "x": 1, + "y": 1 + } + } + }, + { + "element": 1, + "is-folder": false, + "name": "eeee2", + "styles": [ + ], + "transform": { + "offset": { + "x": -149, + "y": 85 + }, + "rotation": 90, + "scale": { + "x": 1, + "y": 1 + } + } + }, + { + "element": 1, + "is-folder": false, + "name": "eeee3", + "styles": [ + ], + "transform": { + "offset": { + "x": 166, + "y": 482 + }, + "rotation": 180, + "scale": { + "x": 1, + "y": 1 + } + } + } + ], + "is-folder": true, + "name": "root", + "referenced-by": null, + "transform": { + "offset": { + "x": 8, + "y": 20 + }, + "rotation": 0, + "scale": { + "x": 1.7159367435419115, + "y": 1.7159367435419115 + } + } + }, + "width": 1080 +} diff --git a/ArchitectureColoredPainting/res/Shaders/painting.comp b/ArchitectureColoredPainting/res/Shaders/painting.comp index 6e166cf..324e093 100644 --- a/ArchitectureColoredPainting/res/Shaders/painting.comp +++ b/ArchitectureColoredPainting/res/Shaders/painting.comp @@ -1409,7 +1409,7 @@ void main() imageStore(gBaseColor, pixelLocation, vec4(color.rgb, 1)); imageStore(gMetallicRoughness, pixelLocation, vec4(metallicRoughness, 0, 1)); - //return; + return; if (/*color.a!=-1&&*/ debugBVH == vec3(0)) { // imageStore(gBaseColor, pixelLocation, vec4(vec3(1, 1, 0),1)); diff --git a/ArchitectureColoredPainting/src/Editor/util/PaintingUtil.cpp b/ArchitectureColoredPainting/src/Editor/util/PaintingUtil.cpp index aa23ce6..c6b7b55 100644 --- a/ArchitectureColoredPainting/src/Editor/util/PaintingUtil.cpp +++ b/ArchitectureColoredPainting/src/Editor/util/PaintingUtil.cpp @@ -14,8 +14,6 @@ using std::make_shared; using std::min; using std::queue; -const double PaintingUtil::pi = acos(-1); - struct LayerNode { LayerWrapper* nowLayer; QTransform transfrom; @@ -109,8 +107,9 @@ FolderLayerWrapper* PaintingUtil::handleLayerWrapper(LayerWrapper* nowLayer, QTr qDebug() << material->halfWidth; } QPainterPathStroker stroker; - stroker.setWidth(lineWidth); + stroker.setWidth(lineWidth * 2); stroker.setCapStyle(Qt::RoundCap); + stroker.setJoinStyle(Qt::RoundJoin); QPainterPath strokePath = stroker.createStroke(painterPath); auto rect = transform.map(strokePath).boundingRect(); elementTransform.bound = glm::vec4(rect.x(), rect.y(), rect.x() + rect.width(), rect.y() + rect.height()); diff --git a/ArchitectureColoredPainting/src/Editor/util/PaintingUtil.h b/ArchitectureColoredPainting/src/Editor/util/PaintingUtil.h index 850bfc0..332a0a4 100644 --- a/ArchitectureColoredPainting/src/Editor/util/PaintingUtil.h +++ b/ArchitectureColoredPainting/src/Editor/util/PaintingUtil.h @@ -5,7 +5,7 @@ class PaintingUtil { private: - static const double pi; + //static const double pi; static QJsonObject readJsonFile(QString jsonFilePath); static FolderLayerWrapper* handleLayerWrapper(LayerWrapper* nowLayer, QTransform& transform, Renderer::Painting& painting); //static double getMaxLineWidth(LayerWrapper* root); diff --git a/svg/4_L0-fill.svg b/svg/4_L0-fill.svg new file mode 100644 index 0000000..7248976 --- /dev/null +++ b/svg/4_L0-fill.svg @@ -0,0 +1,12 @@ + + + + + + diff --git a/test.json b/test.json index ce11428..c5158fb 100644 --- a/test.json +++ b/test.json @@ -59,9 +59,9 @@ "name": "Leaf2", "styles": [ { - "enableEachSideIndependent": true, + "enableEachSideIndependent": false, "left": "AAAAQAEAIZwAf////1UA/w==", - "right": "AADgQAAACJw=", + "right": "AADgQAEACJwAf///AFqe/w==", "type": "stroke" } ],