Skip to content

Commit 3ff11e8

Browse files
committed
Added scene loading and texture transparency
1 parent aa805f8 commit 3ff11e8

30 files changed

+420
-190
lines changed

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ set_target_properties(stb PROPERTIES LINKER_LANGUAGE CXX)
4040
target_link_libraries(stb)
4141

4242
# Library
43-
add_library(${PROJECT_NAME} SHARED src/wde.hpp src/WaterDropEngine/WaterDropEngine.hpp src/WaterDropEngine/WaterDropEngine.cpp src/WaterDropEngine/WdeCommon/WdeLogger/Logger.hpp src/WaterDropEngine/WdeCommon/WdeLogger/Logger.cpp src/WaterDropEngine/WdeCommon/WdeError/WdeStatus.hpp src/WaterDropEngine/WdeCommon/WdeError/WdeException.hpp src/WaterDropEngine/WdeCore/WdeInstance.cpp src/WaterDropEngine/WdeCore/WdeInstance.hpp src/WaterDropEngine/WdeRenderingEngine/WdeRenderEngine.cpp src/WaterDropEngine/WdeRenderingEngine/WdeRenderEngine.hpp src/WaterDropEngine/WdeRenderingEngine/core/CoreWindow.cpp src/WaterDropEngine/WdeRenderingEngine/core/CoreWindow.hpp src/WaterDropEngine/WdeRenderingEngine/core/CoreInstance.cpp src/WaterDropEngine/WdeRenderingEngine/core/CoreInstance.hpp src/WaterDropEngine/WdeCommon/WdeUtils/Constants.hpp src/WaterDropEngine/WdeCommon/WdeFiles/WdeFileUtils.cpp src/WaterDropEngine/WdeCommon/WdeFiles/WdeFileUtils.hpp src/WaterDropEngine/WdeCommon/WdeUtils/NonCopyable.hpp src/WaterDropEngine/WdeCommon/WdeLogger/Instrumentation.hpp src/WaterDropEngine/WdeRenderingEngine/core/CoreDevice.cpp src/WaterDropEngine/WdeRenderingEngine/core/CoreDevice.hpp src/WaterDropEngine/WdeRenderingEngine/core/CoreDeviceHelper.cpp src/WaterDropEngine/WdeRenderingEngine/core/CoreDeviceHelper.hpp src/WaterDropEngine/WdeRenderingEngine/renderer/passes/SwapChain.cpp src/WaterDropEngine/WdeRenderingEngine/renderer/passes/SwapChain.hpp src/WaterDropEngine/WdeRenderingEngine/renderer/Renderer.hpp src/WaterDropEngine/WdeRenderingEngine/commands/CommandBuffer.cpp src/WaterDropEngine/WdeRenderingEngine/commands/CommandBuffer.hpp src/WaterDropEngine/WdeRenderingEngine/commands/CommandPool.cpp src/WaterDropEngine/WdeRenderingEngine/commands/CommandPool.hpp src/WaterDropEngine/WdeRenderingEngine/renderer/descriptors/RenderPassAttachment.hpp src/WaterDropEngine/WdeRenderingEngine/renderer/descriptors/RenderSubpassType.hpp src/WaterDropEngine/WdeRenderingEngine/renderer/passes/RenderPass.cpp src/WaterDropEngine/WdeRenderingEngine/renderer/passes/RenderPass.hpp src/WaterDropEngine/WdeCommon/WdeMaths/Color.hpp src/WaterDropEngine/WdeRenderingEngine/renderer/passes/RenderPassVulkan.cpp src/WaterDropEngine/WdeRenderingEngine/renderer/passes/RenderPassVulkan.hpp src/WaterDropEngine/WdeRenderingEngine/renderer/descriptors/RenderSubpassDescription.hpp src/WaterDropEngine/WdeRenderingEngine/renderer/managers/SubrenderersManager.hpp src/WaterDropEngine/WdeRenderingEngine/renderer/descriptors/RenderStage.hpp src/WaterDropEngine/WdeRenderingEngine/renderer/managers/TypeInfo.hpp src/WaterDropEngine/WdeRenderingEngine/subrenderers/Subrenderer.hpp src/WaterDropEngine/WdeRenderingEngine/buffers/Framebuffers.cpp src/WaterDropEngine/WdeRenderingEngine/buffers/Framebuffers.hpp src/WaterDropEngine/WdeRenderingEngine/pipelines/Pipeline.hpp src/WaterDropEngine/WdeRenderingEngine/pipelines/PipelineGraphics.cpp src/WaterDropEngine/WdeRenderingEngine/pipelines/PipelineGraphics.hpp src/WaterDropEngine/WdeRenderingEngine/pipelines/ShaderUtils.cpp src/WaterDropEngine/WdeRenderingEngine/pipelines/ShaderUtils.hpp src/WaterDropEngine/WdeScene/objects/Model.cpp src/WaterDropEngine/WdeScene/objects/Model.hpp src/WaterDropEngine/WdeRenderingEngine/buffers/BufferUtils.hpp src/WaterDropEngine/WdeRenderingEngine/images/ImageDepth.hpp src/WaterDropEngine/WdeRenderingEngine/images/Image.cpp src/WaterDropEngine/WdeRenderingEngine/images/Image.hpp src/WaterDropEngine/WdeRenderingEngine/utils/FPSUtils.hpp src/WaterDropEngine/WdeScene/objects/GameObject.hpp src/WaterDropEngine/WdeCore/WdeModule.hpp src/WaterDropEngine/WdeInputEngine/InputManager.cpp src/WaterDropEngine/WdeInputEngine/InputManager.hpp src/WaterDropEngine/WdeScene/objects/models/ModelCube.hpp src/WaterDropEngine/WdeScene/objects/models/ModelLoader.hpp src/WaterDropEngine/WdeGUI/WdeGUI.cpp src/WaterDropEngine/WdeGUI/WdeGUI.hpp src/WaterDropEngine/WdeRenderingEngine/images/Image2D.hpp src/WaterDropEngine/WdeRenderingEngine/subrenderers/GUISubrenderer.cpp src/WaterDropEngine/WdeRenderingEngine/subrenderers/GUISubrenderer.hpp src/WaterDropEngine/WdeScene/WdeSceneManager.cpp src/WaterDropEngine/WdeScene/WdeSceneManager.hpp src/WaterDropEngine/WdeScene/Scene.hpp src/WaterDropEngine/WdeRenderingEngine/subrenderers/MeshSubrenderer.cpp src/WaterDropEngine/WdeRenderingEngine/subrenderers/MeshSubrenderer.hpp src/WaterDropEngine/WdeScene/modules/Module.hpp src/WaterDropEngine/WdeGUI/GUITheme.hpp src/WaterDropEngine/WdeGUI/GUILogger.hpp src/WaterDropEngine/WdeGUI/GUIBar.hpp src/WaterDropEngine/WdeScene/modules/TransformModule.hpp src/WaterDropEngine/WdeGUI/GUIRenderer.hpp src/WaterDropEngine/WdeScene/modules/ModelModule.hpp src/WaterDropEngine/WdeScene/modules/CameraModule.hpp src/WaterDropEngine/WdeScene/modules/TransformControllerModule.hpp src/WaterDropEngine/WdeInputEngine/InputController.cpp src/WaterDropEngine/WdeInputEngine/InputController.hpp src/WaterDropEngine/WdeScene/materials/Material.hpp src/WaterDropEngine/WdeScene/materials/ColorMaterial.hpp src/WaterDropEngine/WdeScene/materials/ColorMaterialOutline.hpp src/WaterDropEngine/WdeRenderingEngine/subrenderers/GizmoSubrenderer.cpp src/WaterDropEngine/WdeRenderingEngine/subrenderers/GizmoSubrenderer.hpp src/WaterDropEngine/WdeScene/modules/ModelModule.cpp src/WaterDropEngine/WdeScene/gizmos/Gizmo.cpp src/WaterDropEngine/WdeScene/gizmos/Gizmo.hpp src/WaterDropEngine/WdeScene/gizmos/GizmoRenderer.hpp src/WaterDropEngine/WdeScene/gizmos/GizmoRenderer.cpp src/WaterDropEngine/WdeRenderingEngine/descriptors/DescriptorSet.hpp src/WaterDropEngine/WdeRenderingEngine/descriptors/Descriptor.hpp src/WaterDropEngine/WdeRenderingEngine/descriptors/DescriptorPool.hpp src/WaterDropEngine/WdeRenderingEngine/images/Texture2D.hpp src/WaterDropEngine/WdeRenderingEngine/images/Texture2D.cpp src/WaterDropEngine/WdeScene/materials/TextureMaterial.hpp src/WaterDropEngine/includes.hpp src/WaterDropEngine/WdeRenderingEngine/descriptors/Descriptor.cpp src/WaterDropEngine/WdeRenderingEngine/descriptors/DescriptorSet.cpp src/WaterDropEngine/WdeRenderingEngine/descriptors/DescriptorPool.cpp src/WaterDropEngine/WdeRenderingEngine/subrenderers/filters/FilterSubrenderer.hpp src/WaterDropEngine/WdeRenderingEngine/subrenderers/filters/InvertFilter.hpp src/WaterDropEngine/WdeRenderingEngine/subrenderers/filters/DefaultFilter.hpp src/WaterDropEngine/WdeGUI/GUIBar.cpp src/WaterDropEngine/WdeScene/utils/SceneSerializerUtils.hpp)
43+
add_library(${PROJECT_NAME} SHARED src/wde.hpp src/WaterDropEngine/WaterDropEngine.hpp src/WaterDropEngine/WaterDropEngine.cpp src/WaterDropEngine/WdeCommon/WdeLogger/Logger.hpp src/WaterDropEngine/WdeCommon/WdeLogger/Logger.cpp src/WaterDropEngine/WdeCommon/WdeError/WdeStatus.hpp src/WaterDropEngine/WdeCommon/WdeError/WdeException.hpp src/WaterDropEngine/WdeCore/WdeInstance.cpp src/WaterDropEngine/WdeCore/WdeInstance.hpp src/WaterDropEngine/WdeRenderingEngine/WdeRenderEngine.cpp src/WaterDropEngine/WdeRenderingEngine/WdeRenderEngine.hpp src/WaterDropEngine/WdeRenderingEngine/core/CoreWindow.cpp src/WaterDropEngine/WdeRenderingEngine/core/CoreWindow.hpp src/WaterDropEngine/WdeRenderingEngine/core/CoreInstance.cpp src/WaterDropEngine/WdeRenderingEngine/core/CoreInstance.hpp src/WaterDropEngine/WdeCommon/WdeUtils/Constants.hpp src/WaterDropEngine/WdeCommon/WdeFiles/WdeFileUtils.cpp src/WaterDropEngine/WdeCommon/WdeFiles/WdeFileUtils.hpp src/WaterDropEngine/WdeCommon/WdeUtils/NonCopyable.hpp src/WaterDropEngine/WdeCommon/WdeLogger/Instrumentation.hpp src/WaterDropEngine/WdeRenderingEngine/core/CoreDevice.cpp src/WaterDropEngine/WdeRenderingEngine/core/CoreDevice.hpp src/WaterDropEngine/WdeRenderingEngine/core/CoreDeviceHelper.cpp src/WaterDropEngine/WdeRenderingEngine/core/CoreDeviceHelper.hpp src/WaterDropEngine/WdeRenderingEngine/renderer/passes/SwapChain.cpp src/WaterDropEngine/WdeRenderingEngine/renderer/passes/SwapChain.hpp src/WaterDropEngine/WdeRenderingEngine/renderer/Renderer.hpp src/WaterDropEngine/WdeRenderingEngine/commands/CommandBuffer.cpp src/WaterDropEngine/WdeRenderingEngine/commands/CommandBuffer.hpp src/WaterDropEngine/WdeRenderingEngine/commands/CommandPool.cpp src/WaterDropEngine/WdeRenderingEngine/commands/CommandPool.hpp src/WaterDropEngine/WdeRenderingEngine/renderer/descriptors/RenderPassAttachment.hpp src/WaterDropEngine/WdeRenderingEngine/renderer/descriptors/RenderSubpassType.hpp src/WaterDropEngine/WdeRenderingEngine/renderer/passes/RenderPass.cpp src/WaterDropEngine/WdeRenderingEngine/renderer/passes/RenderPass.hpp src/WaterDropEngine/WdeCommon/WdeMaths/Color.hpp src/WaterDropEngine/WdeRenderingEngine/renderer/passes/RenderPassVulkan.cpp src/WaterDropEngine/WdeRenderingEngine/renderer/passes/RenderPassVulkan.hpp src/WaterDropEngine/WdeRenderingEngine/renderer/descriptors/RenderSubpassDescription.hpp src/WaterDropEngine/WdeRenderingEngine/renderer/managers/SubrenderersManager.hpp src/WaterDropEngine/WdeRenderingEngine/renderer/descriptors/RenderStage.hpp src/WaterDropEngine/WdeRenderingEngine/renderer/managers/TypeInfo.hpp src/WaterDropEngine/WdeRenderingEngine/subrenderers/Subrenderer.hpp src/WaterDropEngine/WdeRenderingEngine/buffers/Framebuffers.cpp src/WaterDropEngine/WdeRenderingEngine/buffers/Framebuffers.hpp src/WaterDropEngine/WdeRenderingEngine/pipelines/Pipeline.hpp src/WaterDropEngine/WdeRenderingEngine/pipelines/PipelineGraphics.cpp src/WaterDropEngine/WdeRenderingEngine/pipelines/PipelineGraphics.hpp src/WaterDropEngine/WdeRenderingEngine/pipelines/ShaderUtils.cpp src/WaterDropEngine/WdeRenderingEngine/pipelines/ShaderUtils.hpp src/WaterDropEngine/WdeScene/objects/Model.cpp src/WaterDropEngine/WdeScene/objects/Model.hpp src/WaterDropEngine/WdeRenderingEngine/buffers/BufferUtils.hpp src/WaterDropEngine/WdeRenderingEngine/images/ImageDepth.hpp src/WaterDropEngine/WdeRenderingEngine/images/Image.cpp src/WaterDropEngine/WdeRenderingEngine/images/Image.hpp src/WaterDropEngine/WdeRenderingEngine/utils/FPSUtils.hpp src/WaterDropEngine/WdeScene/objects/GameObject.hpp src/WaterDropEngine/WdeCore/WdeModule.hpp src/WaterDropEngine/WdeInputEngine/InputManager.cpp src/WaterDropEngine/WdeInputEngine/InputManager.hpp src/WaterDropEngine/WdeScene/objects/models/ModelCube.hpp src/WaterDropEngine/WdeScene/objects/models/ModelLoader.hpp src/WaterDropEngine/WdeGUI/WdeGUI.cpp src/WaterDropEngine/WdeGUI/WdeGUI.hpp src/WaterDropEngine/WdeRenderingEngine/images/Image2D.hpp src/WaterDropEngine/WdeRenderingEngine/subrenderers/GUISubrenderer.cpp src/WaterDropEngine/WdeRenderingEngine/subrenderers/GUISubrenderer.hpp src/WaterDropEngine/WdeScene/WdeSceneManager.cpp src/WaterDropEngine/WdeScene/WdeSceneManager.hpp src/WaterDropEngine/WdeScene/Scene.hpp src/WaterDropEngine/WdeRenderingEngine/subrenderers/MeshSubrenderer.cpp src/WaterDropEngine/WdeRenderingEngine/subrenderers/MeshSubrenderer.hpp src/WaterDropEngine/WdeScene/modules/Module.hpp src/WaterDropEngine/WdeGUI/GUITheme.hpp src/WaterDropEngine/WdeGUI/GUILogger.hpp src/WaterDropEngine/WdeGUI/GUIBar.hpp src/WaterDropEngine/WdeScene/modules/TransformModule.hpp src/WaterDropEngine/WdeGUI/GUIRenderer.hpp src/WaterDropEngine/WdeScene/modules/ModelModule.hpp src/WaterDropEngine/WdeScene/modules/CameraModule.hpp src/WaterDropEngine/WdeScene/modules/TransformControllerModule.hpp src/WaterDropEngine/WdeInputEngine/InputController.cpp src/WaterDropEngine/WdeInputEngine/InputController.hpp src/WaterDropEngine/WdeScene/materials/Material.hpp src/WaterDropEngine/WdeScene/materials/ColorMaterial.hpp src/WaterDropEngine/WdeScene/materials/ColorMaterialOutline.hpp src/WaterDropEngine/WdeRenderingEngine/subrenderers/GizmoSubrenderer.cpp src/WaterDropEngine/WdeRenderingEngine/subrenderers/GizmoSubrenderer.hpp src/WaterDropEngine/WdeScene/modules/ModelModule.cpp src/WaterDropEngine/WdeScene/gizmos/Gizmo.cpp src/WaterDropEngine/WdeScene/gizmos/Gizmo.hpp src/WaterDropEngine/WdeScene/gizmos/GizmoRenderer.hpp src/WaterDropEngine/WdeScene/gizmos/GizmoRenderer.cpp src/WaterDropEngine/WdeRenderingEngine/descriptors/DescriptorSet.hpp src/WaterDropEngine/WdeRenderingEngine/descriptors/Descriptor.hpp src/WaterDropEngine/WdeRenderingEngine/descriptors/DescriptorPool.hpp src/WaterDropEngine/WdeRenderingEngine/images/Texture2D.hpp src/WaterDropEngine/WdeRenderingEngine/images/Texture2D.cpp src/WaterDropEngine/WdeScene/materials/TextureMaterial.hpp src/WaterDropEngine/includes.hpp src/WaterDropEngine/WdeRenderingEngine/descriptors/Descriptor.cpp src/WaterDropEngine/WdeRenderingEngine/descriptors/DescriptorSet.cpp src/WaterDropEngine/WdeRenderingEngine/descriptors/DescriptorPool.cpp src/WaterDropEngine/WdeRenderingEngine/subrenderers/filters/FilterSubrenderer.hpp src/WaterDropEngine/WdeRenderingEngine/subrenderers/filters/InvertFilter.hpp src/WaterDropEngine/WdeRenderingEngine/subrenderers/filters/DefaultFilter.hpp src/WaterDropEngine/WdeGUI/GUIBar.cpp src/WaterDropEngine/WdeScene/utils/SceneSerializerUtils.hpp src/WaterDropEngine/WdeScene/modules/CameraModule.cpp src/WaterDropEngine/WdeScene/modules/TransformControllerModule.cpp)
4444
target_link_libraries(${PROJECT_NAME} glfw ${GLFW_LIBRARIES} glm tinyobjloader pfd json imgui stb Vulkan::Vulkan -Wl,--allow-multiple-definition -static -static-libgcc -static-libstdc++)
4545

4646
# Add res folder

app/CoreApp.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ WdeStatus CoreApp::initialize() {
88

99
// Set renderer
1010
renderEngine::WdeRenderEngine::get().setRenderer(std::make_unique<CoreAppRenderer>());
11+
1112
// Set scene
1213
scene::WdeSceneManager::get().setScene(std::make_unique<CoreAppScene>());
1314

app/scene/CoreAppScene.cpp

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,8 @@ void CoreAppScene::initialize() {
88

99

1010
// Room
11-
auto& room = createGameObject("Room");
12-
room.addModule<ModelModule>(std::make_shared<ModelLoader>("sponza.obj"), std::make_shared<ColorMaterial>(RenderStage {0, 0}));
13-
11+
/*auto& room = createGameObject("Room");
12+
room.addModule<ModelModule>(std::make_shared<ModelLoader>("sponza.obj"), std::make_shared<ColorMaterial>(RenderStage {0, 0}));*/
1413

1514
// Materials
1615
// ColorMaterial - ColorMaterialOutline - TextureMaterial
@@ -46,13 +45,8 @@ void CoreAppScene::initialize() {
4645
testGO.getModule<TransformModule>().scale /= 3.0f;*/
4746

4847

49-
// Minecraft sceen test game object
50-
/*auto& mcScene = createGameObject("Minecraft Scene");
48+
// Minecraft scene test game object
49+
auto& mcScene = createGameObject("Minecraft Scene");
5150
mcScene.addModule<ModelModule>(std::make_shared<ModelLoader>("lost_empire.obj"),
52-
std::make_shared<TextureMaterial>(RenderStage {0, 0}, "lost_empire.png", VK_FILTER_NEAREST));*/
53-
}
54-
55-
void CoreAppScene::update() {
56-
// Updates scene
57-
Scene::update();
51+
std::make_shared<TextureMaterial>(RenderStage {0, 0}, "lost_empire.png", VK_FILTER_NEAREST));
5852
}

app/scene/CoreAppScene.hpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,4 @@ class CoreAppScene : public Scene {
1010

1111
// Core functions
1212
void initialize() override;
13-
void update() override;
1413
};

res/shaders/texture/textureShader.frag

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,6 @@ layout(location = 0) out vec4 outColor;
1414

1515
// Ran for every fragment (line between two vertex, after rasterisation)
1616
void main() {
17-
outColor = vec4(texture(inTexture, inTexCoord).xyz * inLightIntensity, 1.0f);
17+
vec4 textureColor = texture(inTexture, inTexCoord);
18+
outColor = vec4(textureColor.xyz * inLightIntensity, textureColor.w);
1819
}
152 Bytes
Binary file not shown.

src/WaterDropEngine/WdeGUI/GUIBar.cpp

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,20 @@
22
#include "../WdeScene/WdeSceneManager.hpp"
33

44
namespace wde::gui {
5+
void GUIBar::updateGUI() {
6+
if (_shouldLoadScene) {
7+
// Open load scene dialog
8+
std::vector<char> fileContent = WdeFileUtils::readFileDialog("json");
9+
if (!fileContent.empty()) {
10+
std::string strContent (fileContent.begin(), fileContent.end());
11+
auto sceneJSON = json::parse(strContent);
12+
scene::WdeSceneManager::get().deserializeScene(sceneJSON);
13+
}
14+
15+
_shouldLoadScene = false;
16+
}
17+
}
18+
519
void GUIBar::renderGUI() {
620
// Main file menu
721
if (ImGui::BeginMenu("File")) {
@@ -20,14 +34,8 @@ namespace wde::gui {
2034
scene::WdeSceneManager::get().serializeScene();
2135

2236
// Load scene
23-
if (ImGui::Button("Load scene")) {
24-
std::vector<char> fileContent = WdeFileUtils::readFileDialog("json");
25-
if (!fileContent.empty()) {
26-
std::string strContent (fileContent.begin(), fileContent.end());
27-
auto sceneJSON = json::parse(strContent);
28-
scene::WdeSceneManager::get().deserializeScene(sceneJSON);
29-
}
30-
}
37+
if (ImGui::Button("Load scene"))
38+
_shouldLoadScene = true;
3139

3240
// End of menu
3341
ImGui::EndMenu();

src/WaterDropEngine/WdeGUI/GUIBar.hpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
namespace wde::gui {
66
class GUIBar {
77
public:
8+
/** Updates the gui top menu */
9+
void updateGUI();
810
/** Renders the gui top menu */
911
void renderGUI();
1012

@@ -16,6 +18,8 @@ namespace wde::gui {
1618
private:
1719
/** Display GUI by default */
1820
bool _displayGUI = true;
21+
/** True if the user wants to reset the scene as soon as possible */
22+
bool _shouldLoadScene = false;
1923
};
2024
}
2125

src/WaterDropEngine/WdeGUI/GUIRenderer.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#pragma once
22

33
#include "../../wde.hpp"
4+
#include "GUITheme.hpp"
45

56
namespace wde::gui {
67
class GUIRenderer {

src/WaterDropEngine/WdeGUI/WdeGUI.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,13 @@ namespace wde::gui {
3333
}
3434
}
3535

36+
void WdeGUI::update() {
37+
WDE_PROFILE_FUNCTION();
38+
39+
// Update gui bar
40+
_guiBar.updateGUI();
41+
}
42+
3643
void WdeGUI::render() {
3744
WDE_PROFILE_FUNCTION();
3845

0 commit comments

Comments
 (0)