From 15524362233ca733d71666a572e49186155af7b9 Mon Sep 17 00:00:00 2001 From: Jean Philippe Date: Wed, 16 Oct 2024 21:27:05 +0100 Subject: [PATCH 1/7] reorganized project structure --- Tetragrama/src/CMakeLists.txt | 2 +- ZEngine/CMakeLists.txt | 4 ++-- ZEngine/{src => ZEngine}/CMakeLists.txt | 24 ++++++++++--------- .../Components}/UIComponent.cpp | 0 .../ZEngine/Components/UIComponent.h | 2 +- .../ZEngine/Components/UIComponentEvent.h | 0 .../Controllers}/CameraController.cpp | 0 .../Controllers/CameraControllerTypeEnums.h | 0 .../ZEngine/Controllers/ICameraController.h | 0 .../ZEngine/Controllers/IController.h | 0 .../PerspectiveCameraController.cpp | 0 .../Controllers/PerspectiveCameraController.h | 0 .../{include => }/ZEngine/Core/Coroutine.h | 0 .../Core}/CoroutineScheduler.cpp | 0 .../ZEngine/Core/CoroutineScheduler.h | 0 .../{include => }/ZEngine/Core/IEventable.h | 0 .../ZEngine/Core/IGraphicObject.h | 0 .../ZEngine/Core/IInitializable.h | 0 .../{include => }/ZEngine/Core/IPipeline.h | 0 .../Core}/IPipelineContext.cpp | 0 .../{src => ZEngine/Core}/IPipelineStage.cpp | 0 .../{include => }/ZEngine/Core/IRenderable.h | 0 .../{include => }/ZEngine/Core/ISerializer.h | 0 .../{include => }/ZEngine/Core/IUpdatable.h | 0 ZEngine/{include => }/ZEngine/Core/TimeStep.h | 0 ZEngine/{include => }/ZEngine/Core/Utility.h | 0 ZEngine/{src => ZEngine}/Engine.cpp | 0 ZEngine/{include => }/ZEngine/Engine.h | 0 .../ZEngine/EngineConfiguration.h | 0 ZEngine/{include => }/ZEngine/EntryPoint.h | 0 .../{include => }/ZEngine/Event/CoreEvent.h | 0 .../ZEngine/Event/EngineClosedEvent.h | 0 .../ZEngine/Event/EventCategory.h | 0 .../ZEngine/Event/EventDispatcher.h | 0 .../{include => }/ZEngine/Event/EventType.h | 0 .../{include => }/ZEngine/Event/KeyEvent.h | 0 .../ZEngine/Event/KeyPressedEvent.h | 0 .../ZEngine/Event/KeyReleasedEvent.h | 0 .../ZEngine/Event/MouseButtonMovedEvent.h | 0 .../ZEngine/Event/MouseButtonPressedEvent.h | 0 .../ZEngine/Event/MouseButtonReleasedEvent.h | 0 .../ZEngine/Event/MouseButtonWheelEvent.h | 0 .../{include => }/ZEngine/Event/MouseEvent.h | 0 .../ZEngine/Event/TextInputEvent.h | 0 .../ZEngine/Event/WindowClosedEvent.h | 0 .../ZEngine/Event/WindowMaximizedEvent.h | 0 .../ZEngine/Event/WindowMinimizedEvent.h | 0 .../ZEngine/Event/WindowResizedEvent.h | 0 .../ZEngine/Event/WindowsRestoredEvent.h | 0 .../Hardwares}/VulkanDevice.cpp | 0 .../ZEngine/Hardwares/VulkanDevice.h | 0 .../Hardwares}/VulkanLayer.cpp | 0 .../ZEngine/Hardwares/VulkanLayer.h | 0 .../ZEngine/Helpers/ContainerExtension.h | 0 ZEngine/{src => ZEngine/Helpers}/Helper.cpp | 0 .../ZEngine/Helpers/IntrusivePtr.h | 0 .../ZEngine/Helpers/MathHelper.h | 0 .../ZEngine/Helpers/MemoryOperations.h | 0 .../ZEngine/Helpers/MeshHelper.h | 0 .../{src => ZEngine/Helpers}/ThreadPool.cpp | 0 .../ZEngine/Helpers/ThreadPool.h | 0 .../ZEngine/Helpers/ThreadSafeQueue.h | 0 ZEngine/{src => ZEngine/Inputs}/IDevice.cpp | 0 .../{include => }/ZEngine/Inputs/IDevice.h | 0 .../ZEngine/Inputs/IKeyboardEventCallback.h | 0 .../ZEngine/Inputs/IMouseEventCallback.h | 0 .../ZEngine/Inputs/ITextInputEventCallback.h | 0 .../{include => }/ZEngine/Inputs/KeyCode.h | 0 .../ZEngine/Inputs/KeyCodeDefinition.h | 0 .../{include => }/ZEngine/Inputs/Keyboard.h | 0 ZEngine/{include => }/ZEngine/Inputs/Mouse.h | 0 .../{src => ZEngine/Layers}/ImguiLayer.cpp | 2 +- .../{include => }/ZEngine/Layers/ImguiLayer.h | 0 ZEngine/{include => }/ZEngine/Layers/Layer.h | 0 .../{src => ZEngine/Layers}/LayerStack.cpp | 0 .../{include => }/ZEngine/Layers/LayerStack.h | 0 ZEngine/{src => ZEngine/Logging}/Logger.cpp | 0 .../{include => }/ZEngine/Logging/Logger.h | 0 .../ZEngine/Logging/LoggerConfiguration.h | 0 .../ZEngine/Logging/LoggerDefinition.h | 0 .../ZEngine/Managers/IAssetManager.h | 0 .../{include => }/ZEngine/Managers/IManager.h | 0 .../Managers}/ShaderManager.cpp | 0 .../ZEngine/Managers/ShaderManager.h | 0 .../Managers}/TextureManager.cpp | 0 .../ZEngine/Managers/TextureManager.h | 0 ZEngine/{src => ZEngine/Maths}/Math.cpp | 0 ZEngine/{include => }/ZEngine/Maths/Math.h | 0 .../ZEngine/Rendering/Buffers/Bitmap.h | 0 .../ZEngine/Rendering/Buffers/BufferLayout.h | 0 .../Rendering/Buffers}/CommandBuffer.cpp | 0 .../ZEngine/Rendering/Buffers/CommandBuffer.h | 0 .../Rendering/Buffers}/FrameBuffer.cpp | 0 .../ZEngine/Rendering/Buffers/Framebuffer.h | 0 .../ZEngine/Rendering/Buffers/GraphicBuffer.h | 0 .../Rendering/Buffers}/Image2DBuffer.cpp | 0 .../ZEngine/Rendering/Buffers/Image2DBuffer.h | 0 .../ZEngine/Rendering/Buffers/IndexBuffer.h | 0 .../Rendering/Buffers/IndirectBuffer.h | 0 .../ZEngine/Rendering/Buffers/PixelBuffer.h | 0 .../ZEngine/Rendering/Buffers/StorageBuffer.h | 0 .../ZEngine/Rendering/Buffers/UniformBuffer.h | 0 .../ZEngine/Rendering/Buffers/VertexBuffer.h | 0 .../ZEngine/Rendering/Cameras/Camera.h | 0 .../ZEngine/Rendering/Cameras/CameraEnum.h | 0 .../Rendering/Cameras}/PerspectiveCamera.cpp | 0 .../Rendering/Cameras/PerspectiveCamera.h | 0 .../Rendering/Components/CameraComponent.h | 0 .../Rendering/Components/GeometryComponent.h | 0 .../Rendering/Components/LightComponent.h | 0 .../Rendering/Components/MaterialComponent.h | 0 .../Rendering/Components/NameComponent.h | 0 .../Rendering/Components/TransformComponent.h | 0 .../Rendering/Components/UUIComponent.h | 0 .../Rendering/Components/ValidComponent.h | 0 .../Entities}/GraphicSceneEntity.cpp | 0 .../Rendering/Entities/GraphicSceneEntity.h | 2 +- .../ZEngine/Rendering/GPUTypes.h | 0 .../Rendering/Geometries}/CubeGeometry.cpp | 0 .../Rendering/Geometries/CubeGeometry.h | 0 .../Rendering/Geometries/GeometryEnum.h | 0 .../ZEngine/Rendering/Geometries/IGeometry.h | 0 .../Rendering/Geometries}/QuadGeometry.cpp | 0 .../Rendering/Geometries/QuadGeometry.h | 0 .../Rendering/Geometries}/SquareGeometry.cpp | 0 .../Rendering/Geometries/SquareGeometry.h | 0 .../ZEngine/Rendering/Lights/Light.h | 0 .../Rendering/Materials}/BasicMaterial.cpp | 0 .../Rendering/Materials/BasicMaterial.h | 0 .../ZEngine/Rendering/Materials/IMaterial.h | 0 .../Rendering/Materials}/ShaderMaterial.cpp | 0 .../Rendering/Materials/ShaderMaterial.h | 0 .../Rendering/Materials}/StandardMaterial.cpp | 0 .../Rendering/Materials/StandardMaterial.h | 0 .../ZEngine/Rendering/Meshes/Mesh.h | 0 .../Rendering/Meshes}/MeshBuilder.cpp | 0 .../ZEngine/Rendering/Meshes/MeshBuilder.h | 0 .../ZEngine/Rendering/Meshes/MeshLight.h | 0 .../Rendering/Pools}/CommandPool.cpp | 0 .../ZEngine/Rendering/Pools/CommandPool.h | 0 .../Rendering/Primitives}/Fence.cpp | 0 .../ZEngine/Rendering/Primitives/Fence.h | 0 .../Primitives}/ImageMemoryBarrier.cpp | 0 .../Rendering/Primitives/ImageMemoryBarrier.h | 0 .../Rendering/Primitives}/Semaphore.cpp | 0 .../ZEngine/Rendering/Primitives/Semaphore.h | 0 .../Contracts/RendererDataContract.h | 0 .../Rendering/Renderers}/GraphicRenderer.cpp | 0 .../Rendering/Renderers/GraphicRenderer.h | 0 .../Renderers/GraphicRendererInformation.h | 0 .../Rendering/Renderers}/ImGUIRenderer.cpp | 0 .../Rendering/Renderers/ImGUIRenderer.h | 0 .../GraphicRendererPipelineInformation.h | 0 .../Pipelines/IGraphicRendererPipelineStage.h | 0 .../Renderers/Pipelines}/RendererPipeline.cpp | 0 .../Renderers/Pipelines/RendererPipeline.h | 0 .../Rendering/Renderers}/RenderGraph.cpp | 0 .../ZEngine/Rendering/Renderers/RenderGraph.h | 0 .../Renderers/RenderPasses}/Attachment.cpp | 0 .../Renderers/RenderPasses/Attachment.h | 0 .../Renderers/RenderPasses}/RenderPass.cpp | 0 .../Renderers/RenderPasses/RenderPass.h | 0 .../Rendering/Renderers}/SceneRenderer.cpp | 0 .../Rendering/Renderers/SceneRenderer.h | 0 .../Renderers/Storages}/GraphicVertex.cpp | 0 .../Renderers/Storages/GraphicVertex.h | 0 .../Rendering/Renderers/Storages/IVertex.h | 0 .../ZEngine/Rendering/ResourceTypes.h | 0 .../Rendering/Scenes}/GraphicScene.cpp | 0 .../ZEngine/Rendering/Scenes/GraphicScene.h | 0 .../Shaders/Compilers}/CompilationStage.cpp | 0 .../Shaders/Compilers/CompilationStage.h | 0 .../Shaders/Compilers/ICompilerStage.h | 0 .../Shaders/Compilers}/ShaderCompiler.cpp | 0 .../Shaders/Compilers/ShaderCompiler.h | 0 .../Compilers}/ShaderFileGenerator.cpp | 0 .../Shaders/Compilers/ShaderFileGenerator.h | 0 .../Shaders/Compilers}/ValidationStage.cpp | 0 .../Shaders/Compilers/ValidationStage.h | 0 .../Rendering/Shaders}/Shader.cpp | 0 .../ZEngine/Rendering/Shaders/Shader.h | 0 .../ZEngine/Rendering/Shaders/ShaderEnums.h | 0 .../Rendering/Shaders/ShaderIncluder.h | 0 .../Rendering/Shaders/ShaderInformation.h | 0 .../Rendering/Shaders}/ShaderReader.cpp | 0 .../ZEngine/Rendering/Shaders/ShaderReader.h | 0 .../Specifications/AttachmentSpecification.h | 0 .../Specifications/FormatSpecification.h | 0 .../Specifications/FrameBufferSpecification.h | 0 .../GraphicRendererPipelineSpecification.h | 0 .../ImageMemoryBarrierSpecification.h | 0 .../Specifications/RenderPassSpecification.h | 0 .../Specifications/ShaderSpecification.h | 0 .../Specifications/TextureSpecification.h | 0 .../{src => ZEngine/Rendering}/Swapchain.cpp | 0 .../ZEngine/Rendering/Swapchain.h | 0 .../ZEngine/Rendering/Textures/Texture.h | 0 .../Rendering/Textures}/Texture2D.cpp | 0 .../ZEngine/Rendering/Textures/Texture2D.h | 0 .../Serializers}/GraphicScene3DSerializer.cpp | 0 .../Serializers/GraphicScene3DSerializer.h | 0 .../Serializers/GraphicSceneSerializer.h | 0 .../{src => ZEngine/Window}/CoreWindow.cpp | 2 +- .../{include => }/ZEngine/Window/CoreWindow.h | 0 .../Window}/GlfwWindow/VulkanWindow.cpp | 0 .../ZEngine/Window/GlfwWindow/VulkanWindow.h | 0 .../ZEngine/Window/ICoreWindowEventCallback.h | 0 .../ZEngine/Window/WindowConfiguration.h | 0 .../ZEngine/Window/WindowProperty.h | 0 ZEngine/{include => }/ZEngine/ZEngine.h | 0 ZEngine/{include => }/ZEngine/ZEngineDef.h | 0 ZEngine/{src => ZEngine}/pch.cpp | 0 ZEngine/{include => }/ZEngine/pch.h | 0 213 files changed, 20 insertions(+), 18 deletions(-) rename ZEngine/{src => ZEngine}/CMakeLists.txt (63%) rename ZEngine/{src => ZEngine/Components}/UIComponent.cpp (100%) rename ZEngine/{include => }/ZEngine/Components/UIComponent.h (96%) rename ZEngine/{include => }/ZEngine/Components/UIComponentEvent.h (100%) rename ZEngine/{src => ZEngine/Controllers}/CameraController.cpp (100%) rename ZEngine/{include => }/ZEngine/Controllers/CameraControllerTypeEnums.h (100%) rename ZEngine/{include => }/ZEngine/Controllers/ICameraController.h (100%) rename ZEngine/{include => }/ZEngine/Controllers/IController.h (100%) rename ZEngine/{src => ZEngine/Controllers}/PerspectiveCameraController.cpp (100%) rename ZEngine/{include => }/ZEngine/Controllers/PerspectiveCameraController.h (100%) rename ZEngine/{include => }/ZEngine/Core/Coroutine.h (100%) rename ZEngine/{src => ZEngine/Core}/CoroutineScheduler.cpp (100%) rename ZEngine/{include => }/ZEngine/Core/CoroutineScheduler.h (100%) rename ZEngine/{include => }/ZEngine/Core/IEventable.h (100%) rename ZEngine/{include => }/ZEngine/Core/IGraphicObject.h (100%) rename ZEngine/{include => }/ZEngine/Core/IInitializable.h (100%) rename ZEngine/{include => }/ZEngine/Core/IPipeline.h (100%) rename ZEngine/{src => ZEngine/Core}/IPipelineContext.cpp (100%) rename ZEngine/{src => ZEngine/Core}/IPipelineStage.cpp (100%) rename ZEngine/{include => }/ZEngine/Core/IRenderable.h (100%) rename ZEngine/{include => }/ZEngine/Core/ISerializer.h (100%) rename ZEngine/{include => }/ZEngine/Core/IUpdatable.h (100%) rename ZEngine/{include => }/ZEngine/Core/TimeStep.h (100%) rename ZEngine/{include => }/ZEngine/Core/Utility.h (100%) rename ZEngine/{src => ZEngine}/Engine.cpp (100%) rename ZEngine/{include => }/ZEngine/Engine.h (100%) rename ZEngine/{include => }/ZEngine/EngineConfiguration.h (100%) rename ZEngine/{include => }/ZEngine/EntryPoint.h (100%) rename ZEngine/{include => }/ZEngine/Event/CoreEvent.h (100%) rename ZEngine/{include => }/ZEngine/Event/EngineClosedEvent.h (100%) rename ZEngine/{include => }/ZEngine/Event/EventCategory.h (100%) rename ZEngine/{include => }/ZEngine/Event/EventDispatcher.h (100%) rename ZEngine/{include => }/ZEngine/Event/EventType.h (100%) rename ZEngine/{include => }/ZEngine/Event/KeyEvent.h (100%) rename ZEngine/{include => }/ZEngine/Event/KeyPressedEvent.h (100%) rename ZEngine/{include => }/ZEngine/Event/KeyReleasedEvent.h (100%) rename ZEngine/{include => }/ZEngine/Event/MouseButtonMovedEvent.h (100%) rename ZEngine/{include => }/ZEngine/Event/MouseButtonPressedEvent.h (100%) rename ZEngine/{include => }/ZEngine/Event/MouseButtonReleasedEvent.h (100%) rename ZEngine/{include => }/ZEngine/Event/MouseButtonWheelEvent.h (100%) rename ZEngine/{include => }/ZEngine/Event/MouseEvent.h (100%) rename ZEngine/{include => }/ZEngine/Event/TextInputEvent.h (100%) rename ZEngine/{include => }/ZEngine/Event/WindowClosedEvent.h (100%) rename ZEngine/{include => }/ZEngine/Event/WindowMaximizedEvent.h (100%) rename ZEngine/{include => }/ZEngine/Event/WindowMinimizedEvent.h (100%) rename ZEngine/{include => }/ZEngine/Event/WindowResizedEvent.h (100%) rename ZEngine/{include => }/ZEngine/Event/WindowsRestoredEvent.h (100%) rename ZEngine/{src => ZEngine/Hardwares}/VulkanDevice.cpp (100%) rename ZEngine/{include => }/ZEngine/Hardwares/VulkanDevice.h (100%) rename ZEngine/{src => ZEngine/Hardwares}/VulkanLayer.cpp (100%) rename ZEngine/{include => }/ZEngine/Hardwares/VulkanLayer.h (100%) rename ZEngine/{include => }/ZEngine/Helpers/ContainerExtension.h (100%) rename ZEngine/{src => ZEngine/Helpers}/Helper.cpp (100%) rename ZEngine/{include => }/ZEngine/Helpers/IntrusivePtr.h (100%) rename ZEngine/{include => }/ZEngine/Helpers/MathHelper.h (100%) rename ZEngine/{include => }/ZEngine/Helpers/MemoryOperations.h (100%) rename ZEngine/{include => }/ZEngine/Helpers/MeshHelper.h (100%) rename ZEngine/{src => ZEngine/Helpers}/ThreadPool.cpp (100%) rename ZEngine/{include => }/ZEngine/Helpers/ThreadPool.h (100%) rename ZEngine/{include => }/ZEngine/Helpers/ThreadSafeQueue.h (100%) rename ZEngine/{src => ZEngine/Inputs}/IDevice.cpp (100%) rename ZEngine/{include => }/ZEngine/Inputs/IDevice.h (100%) rename ZEngine/{include => }/ZEngine/Inputs/IKeyboardEventCallback.h (100%) rename ZEngine/{include => }/ZEngine/Inputs/IMouseEventCallback.h (100%) rename ZEngine/{include => }/ZEngine/Inputs/ITextInputEventCallback.h (100%) rename ZEngine/{include => }/ZEngine/Inputs/KeyCode.h (100%) rename ZEngine/{include => }/ZEngine/Inputs/KeyCodeDefinition.h (100%) rename ZEngine/{include => }/ZEngine/Inputs/Keyboard.h (100%) rename ZEngine/{include => }/ZEngine/Inputs/Mouse.h (100%) rename ZEngine/{src => ZEngine/Layers}/ImguiLayer.cpp (99%) rename ZEngine/{include => }/ZEngine/Layers/ImguiLayer.h (100%) rename ZEngine/{include => }/ZEngine/Layers/Layer.h (100%) rename ZEngine/{src => ZEngine/Layers}/LayerStack.cpp (100%) rename ZEngine/{include => }/ZEngine/Layers/LayerStack.h (100%) rename ZEngine/{src => ZEngine/Logging}/Logger.cpp (100%) rename ZEngine/{include => }/ZEngine/Logging/Logger.h (100%) rename ZEngine/{include => }/ZEngine/Logging/LoggerConfiguration.h (100%) rename ZEngine/{include => }/ZEngine/Logging/LoggerDefinition.h (100%) rename ZEngine/{include => }/ZEngine/Managers/IAssetManager.h (100%) rename ZEngine/{include => }/ZEngine/Managers/IManager.h (100%) rename ZEngine/{src => ZEngine/Managers}/ShaderManager.cpp (100%) rename ZEngine/{include => }/ZEngine/Managers/ShaderManager.h (100%) rename ZEngine/{src => ZEngine/Managers}/TextureManager.cpp (100%) rename ZEngine/{include => }/ZEngine/Managers/TextureManager.h (100%) rename ZEngine/{src => ZEngine/Maths}/Math.cpp (100%) rename ZEngine/{include => }/ZEngine/Maths/Math.h (100%) rename ZEngine/{include => }/ZEngine/Rendering/Buffers/Bitmap.h (100%) rename ZEngine/{include => }/ZEngine/Rendering/Buffers/BufferLayout.h (100%) rename ZEngine/{src => ZEngine/Rendering/Buffers}/CommandBuffer.cpp (100%) rename ZEngine/{include => }/ZEngine/Rendering/Buffers/CommandBuffer.h (100%) rename ZEngine/{src => ZEngine/Rendering/Buffers}/FrameBuffer.cpp (100%) rename ZEngine/{include => }/ZEngine/Rendering/Buffers/Framebuffer.h (100%) rename ZEngine/{include => }/ZEngine/Rendering/Buffers/GraphicBuffer.h (100%) rename ZEngine/{src => ZEngine/Rendering/Buffers}/Image2DBuffer.cpp (100%) rename ZEngine/{include => }/ZEngine/Rendering/Buffers/Image2DBuffer.h (100%) rename ZEngine/{include => }/ZEngine/Rendering/Buffers/IndexBuffer.h (100%) rename ZEngine/{include => }/ZEngine/Rendering/Buffers/IndirectBuffer.h (100%) rename ZEngine/{include => }/ZEngine/Rendering/Buffers/PixelBuffer.h (100%) rename ZEngine/{include => }/ZEngine/Rendering/Buffers/StorageBuffer.h (100%) rename ZEngine/{include => }/ZEngine/Rendering/Buffers/UniformBuffer.h (100%) rename ZEngine/{include => }/ZEngine/Rendering/Buffers/VertexBuffer.h (100%) rename ZEngine/{include => }/ZEngine/Rendering/Cameras/Camera.h (100%) rename ZEngine/{include => }/ZEngine/Rendering/Cameras/CameraEnum.h (100%) rename ZEngine/{src => ZEngine/Rendering/Cameras}/PerspectiveCamera.cpp (100%) rename ZEngine/{include => }/ZEngine/Rendering/Cameras/PerspectiveCamera.h (100%) rename ZEngine/{include => }/ZEngine/Rendering/Components/CameraComponent.h (100%) rename ZEngine/{include => }/ZEngine/Rendering/Components/GeometryComponent.h (100%) rename ZEngine/{include => }/ZEngine/Rendering/Components/LightComponent.h (100%) rename ZEngine/{include => }/ZEngine/Rendering/Components/MaterialComponent.h (100%) rename ZEngine/{include => }/ZEngine/Rendering/Components/NameComponent.h (100%) rename ZEngine/{include => }/ZEngine/Rendering/Components/TransformComponent.h (100%) rename ZEngine/{include => }/ZEngine/Rendering/Components/UUIComponent.h (100%) rename ZEngine/{include => }/ZEngine/Rendering/Components/ValidComponent.h (100%) rename ZEngine/{src => ZEngine/Rendering/Entities}/GraphicSceneEntity.cpp (100%) rename ZEngine/{include => }/ZEngine/Rendering/Entities/GraphicSceneEntity.h (98%) rename ZEngine/{include => }/ZEngine/Rendering/GPUTypes.h (100%) rename ZEngine/{src => ZEngine/Rendering/Geometries}/CubeGeometry.cpp (100%) rename ZEngine/{include => }/ZEngine/Rendering/Geometries/CubeGeometry.h (100%) rename ZEngine/{include => }/ZEngine/Rendering/Geometries/GeometryEnum.h (100%) rename ZEngine/{include => }/ZEngine/Rendering/Geometries/IGeometry.h (100%) rename ZEngine/{src => ZEngine/Rendering/Geometries}/QuadGeometry.cpp (100%) rename ZEngine/{include => }/ZEngine/Rendering/Geometries/QuadGeometry.h (100%) rename ZEngine/{src => ZEngine/Rendering/Geometries}/SquareGeometry.cpp (100%) rename ZEngine/{include => }/ZEngine/Rendering/Geometries/SquareGeometry.h (100%) rename ZEngine/{include => }/ZEngine/Rendering/Lights/Light.h (100%) rename ZEngine/{src => ZEngine/Rendering/Materials}/BasicMaterial.cpp (100%) rename ZEngine/{include => }/ZEngine/Rendering/Materials/BasicMaterial.h (100%) rename ZEngine/{include => }/ZEngine/Rendering/Materials/IMaterial.h (100%) rename ZEngine/{src => ZEngine/Rendering/Materials}/ShaderMaterial.cpp (100%) rename ZEngine/{include => }/ZEngine/Rendering/Materials/ShaderMaterial.h (100%) rename ZEngine/{src => ZEngine/Rendering/Materials}/StandardMaterial.cpp (100%) rename ZEngine/{include => }/ZEngine/Rendering/Materials/StandardMaterial.h (100%) rename ZEngine/{include => }/ZEngine/Rendering/Meshes/Mesh.h (100%) rename ZEngine/{src => ZEngine/Rendering/Meshes}/MeshBuilder.cpp (100%) rename ZEngine/{include => }/ZEngine/Rendering/Meshes/MeshBuilder.h (100%) rename ZEngine/{include => }/ZEngine/Rendering/Meshes/MeshLight.h (100%) rename ZEngine/{src => ZEngine/Rendering/Pools}/CommandPool.cpp (100%) rename ZEngine/{include => }/ZEngine/Rendering/Pools/CommandPool.h (100%) rename ZEngine/{src => ZEngine/Rendering/Primitives}/Fence.cpp (100%) rename ZEngine/{include => }/ZEngine/Rendering/Primitives/Fence.h (100%) rename ZEngine/{src => ZEngine/Rendering/Primitives}/ImageMemoryBarrier.cpp (100%) rename ZEngine/{include => }/ZEngine/Rendering/Primitives/ImageMemoryBarrier.h (100%) rename ZEngine/{src => ZEngine/Rendering/Primitives}/Semaphore.cpp (100%) rename ZEngine/{include => }/ZEngine/Rendering/Primitives/Semaphore.h (100%) rename ZEngine/{include => }/ZEngine/Rendering/Renderers/Contracts/RendererDataContract.h (100%) rename ZEngine/{src => ZEngine/Rendering/Renderers}/GraphicRenderer.cpp (100%) rename ZEngine/{include => }/ZEngine/Rendering/Renderers/GraphicRenderer.h (100%) rename ZEngine/{include => }/ZEngine/Rendering/Renderers/GraphicRendererInformation.h (100%) rename ZEngine/{src => ZEngine/Rendering/Renderers}/ImGUIRenderer.cpp (100%) rename ZEngine/{include => }/ZEngine/Rendering/Renderers/ImGUIRenderer.h (100%) rename ZEngine/{include => }/ZEngine/Rendering/Renderers/Pipelines/GraphicRendererPipelineInformation.h (100%) rename ZEngine/{include => }/ZEngine/Rendering/Renderers/Pipelines/IGraphicRendererPipelineStage.h (100%) rename ZEngine/{src => ZEngine/Rendering/Renderers/Pipelines}/RendererPipeline.cpp (100%) rename ZEngine/{include => }/ZEngine/Rendering/Renderers/Pipelines/RendererPipeline.h (100%) rename ZEngine/{src => ZEngine/Rendering/Renderers}/RenderGraph.cpp (100%) rename ZEngine/{include => }/ZEngine/Rendering/Renderers/RenderGraph.h (100%) rename ZEngine/{src => ZEngine/Rendering/Renderers/RenderPasses}/Attachment.cpp (100%) rename ZEngine/{include => }/ZEngine/Rendering/Renderers/RenderPasses/Attachment.h (100%) rename ZEngine/{src => ZEngine/Rendering/Renderers/RenderPasses}/RenderPass.cpp (100%) rename ZEngine/{include => }/ZEngine/Rendering/Renderers/RenderPasses/RenderPass.h (100%) rename ZEngine/{src => ZEngine/Rendering/Renderers}/SceneRenderer.cpp (100%) rename ZEngine/{include => }/ZEngine/Rendering/Renderers/SceneRenderer.h (100%) rename ZEngine/{src => ZEngine/Rendering/Renderers/Storages}/GraphicVertex.cpp (100%) rename ZEngine/{include => }/ZEngine/Rendering/Renderers/Storages/GraphicVertex.h (100%) rename ZEngine/{include => }/ZEngine/Rendering/Renderers/Storages/IVertex.h (100%) rename ZEngine/{include => }/ZEngine/Rendering/ResourceTypes.h (100%) rename ZEngine/{src => ZEngine/Rendering/Scenes}/GraphicScene.cpp (100%) rename ZEngine/{include => }/ZEngine/Rendering/Scenes/GraphicScene.h (100%) rename ZEngine/{src => ZEngine/Rendering/Shaders/Compilers}/CompilationStage.cpp (100%) rename ZEngine/{include => }/ZEngine/Rendering/Shaders/Compilers/CompilationStage.h (100%) rename ZEngine/{include => }/ZEngine/Rendering/Shaders/Compilers/ICompilerStage.h (100%) rename ZEngine/{src => ZEngine/Rendering/Shaders/Compilers}/ShaderCompiler.cpp (100%) rename ZEngine/{include => }/ZEngine/Rendering/Shaders/Compilers/ShaderCompiler.h (100%) rename ZEngine/{src => ZEngine/Rendering/Shaders/Compilers}/ShaderFileGenerator.cpp (100%) rename ZEngine/{include => }/ZEngine/Rendering/Shaders/Compilers/ShaderFileGenerator.h (100%) rename ZEngine/{src => ZEngine/Rendering/Shaders/Compilers}/ValidationStage.cpp (100%) rename ZEngine/{include => }/ZEngine/Rendering/Shaders/Compilers/ValidationStage.h (100%) rename ZEngine/{src => ZEngine/Rendering/Shaders}/Shader.cpp (100%) rename ZEngine/{include => }/ZEngine/Rendering/Shaders/Shader.h (100%) rename ZEngine/{include => }/ZEngine/Rendering/Shaders/ShaderEnums.h (100%) rename ZEngine/{include => }/ZEngine/Rendering/Shaders/ShaderIncluder.h (100%) rename ZEngine/{include => }/ZEngine/Rendering/Shaders/ShaderInformation.h (100%) rename ZEngine/{src => ZEngine/Rendering/Shaders}/ShaderReader.cpp (100%) rename ZEngine/{include => }/ZEngine/Rendering/Shaders/ShaderReader.h (100%) rename ZEngine/{include => }/ZEngine/Rendering/Specifications/AttachmentSpecification.h (100%) rename ZEngine/{include => }/ZEngine/Rendering/Specifications/FormatSpecification.h (100%) rename ZEngine/{include => }/ZEngine/Rendering/Specifications/FrameBufferSpecification.h (100%) rename ZEngine/{include => }/ZEngine/Rendering/Specifications/GraphicRendererPipelineSpecification.h (100%) rename ZEngine/{include => }/ZEngine/Rendering/Specifications/ImageMemoryBarrierSpecification.h (100%) rename ZEngine/{include => }/ZEngine/Rendering/Specifications/RenderPassSpecification.h (100%) rename ZEngine/{include => }/ZEngine/Rendering/Specifications/ShaderSpecification.h (100%) rename ZEngine/{include => }/ZEngine/Rendering/Specifications/TextureSpecification.h (100%) rename ZEngine/{src => ZEngine/Rendering}/Swapchain.cpp (100%) rename ZEngine/{include => }/ZEngine/Rendering/Swapchain.h (100%) rename ZEngine/{include => }/ZEngine/Rendering/Textures/Texture.h (100%) rename ZEngine/{src => ZEngine/Rendering/Textures}/Texture2D.cpp (100%) rename ZEngine/{include => }/ZEngine/Rendering/Textures/Texture2D.h (100%) rename ZEngine/{src => ZEngine/Serializers}/GraphicScene3DSerializer.cpp (100%) rename ZEngine/{include => }/ZEngine/Serializers/GraphicScene3DSerializer.h (100%) rename ZEngine/{include => }/ZEngine/Serializers/GraphicSceneSerializer.h (100%) rename ZEngine/{src => ZEngine/Window}/CoreWindow.cpp (98%) rename ZEngine/{include => }/ZEngine/Window/CoreWindow.h (100%) rename ZEngine/{src => ZEngine/Window}/GlfwWindow/VulkanWindow.cpp (100%) rename ZEngine/{include => }/ZEngine/Window/GlfwWindow/VulkanWindow.h (100%) rename ZEngine/{include => }/ZEngine/Window/ICoreWindowEventCallback.h (100%) rename ZEngine/{include => }/ZEngine/Window/WindowConfiguration.h (100%) rename ZEngine/{include => }/ZEngine/Window/WindowProperty.h (100%) rename ZEngine/{include => }/ZEngine/ZEngine.h (100%) rename ZEngine/{include => }/ZEngine/ZEngineDef.h (100%) rename ZEngine/{src => ZEngine}/pch.cpp (100%) rename ZEngine/{include => }/ZEngine/pch.h (100%) diff --git a/Tetragrama/src/CMakeLists.txt b/Tetragrama/src/CMakeLists.txt index ecfbe466..8a8e04ed 100644 --- a/Tetragrama/src/CMakeLists.txt +++ b/Tetragrama/src/CMakeLists.txt @@ -32,7 +32,7 @@ target_include_directories (${TARGET_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/Helpers ${CMAKE_CURRENT_SOURCE_DIR}/Importers ${CMAKE_CURRENT_SOURCE_DIR}/Serializers - ${ENLISTMENT_ROOT}/ZEngine/include + ${ENLISTMENT_ROOT}/ZEngine ) target_precompile_headers(${TARGET_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/pch.h) diff --git a/ZEngine/CMakeLists.txt b/ZEngine/CMakeLists.txt index 0a34d1f6..2abca89f 100644 --- a/ZEngine/CMakeLists.txt +++ b/ZEngine/CMakeLists.txt @@ -19,5 +19,5 @@ endif () set (CMAKE_CXX_STANDARD_REQUIRED ON) set (CMAKE_CXX_STANDARD 20) -add_subdirectory (src) -add_subdirectory(tests) \ No newline at end of file +add_subdirectory (ZEngine) +add_subdirectory (tests) \ No newline at end of file diff --git a/ZEngine/src/CMakeLists.txt b/ZEngine/ZEngine/CMakeLists.txt similarity index 63% rename from ZEngine/src/CMakeLists.txt rename to ZEngine/ZEngine/CMakeLists.txt index 39d538a1..c43c4a89 100644 --- a/ZEngine/src/CMakeLists.txt +++ b/ZEngine/ZEngine/CMakeLists.txt @@ -1,35 +1,37 @@ include(${EXTERNAL_DIR}/externals.cmake) -file (GLOB_RECURSE HEADER_FILES_LIST CONFIGURE_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../include/ZEngine/*.h) -file (GLOB CPP_FILES_LIST CONFIGURE_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp) +file (GLOB_RECURSE HEADER_FILES_LIST CONFIGURE_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/*.h) +file (GLOB_RECURSE CPP_FILES_LIST CONFIGURE_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp) file (GLOB_RECURSE RESOURCE_FILES_LIST CONFIGURE_DEPENDS ${PROJECT_SOURCE_DIR}/../Resources/Shaders/*.*) -source_group (TREE ${PROJECT_SOURCE_DIR}/include PREFIX "Header Files" FILES ${HEADER_FILES_LIST}) -source_group (TREE ${PROJECT_SOURCE_DIR}/src PREFIX "Source Files" FILES ${CPP_FILES_LIST}) +# source_group (TREE ${PROJECT_SOURCE_DIR}/include PREFIX "Header Files" FILES ${HEADER_FILES_LIST}) +# source_group (TREE ${PROJECT_SOURCE_DIR}/src PREFIX "Source Files" FILES ${CPP_FILES_LIST}) + +source_group (TREE ${PROJECT_SOURCE_DIR}/ZEngine PREFIX "Source Files" FILES ${HEADER_FILES_LIST} ${CPP_FILES_LIST}) source_group (TREE ${PROJECT_SOURCE_DIR}/../Resources PREFIX "Resources Files" FILES ${RESOURCE_FILES_LIST}) # ZEngine source files # -list (APPEND Sources ${CPP_FILES_LIST} GlfwWindow/VulkanWindow.cpp) +# list (APPEND Sources ${CPP_FILES_LIST} GlfwWindow/VulkanWindow.cpp) add_library (zEngineLib STATIC ${HEADER_FILES_LIST} - ${Sources} + ${CPP_FILES_LIST} + # ${Sources} ${EXTERNAL_DIR}/ImGuizmo/ImGuizmo.h ${EXTERNAL_DIR}/ImGuizmo/ImGuizmo.cpp - ${RESOURCE_FILES_LIST} + # ${RESOURCE_FILES_LIST} ) target_include_directories (zEngineLib - PUBLIC - ${PROJECT_SOURCE_DIR}/include - ${PROJECT_SOURCE_DIR}/include/ZEngine + PUBLIC + . ${EXTERNAL_DIR} ${EXTERNAL_INCLUDE_DIRS} ) -target_precompile_headers(zEngineLib PRIVATE ${PROJECT_SOURCE_DIR}/include/ZEngine/pch.h) +target_precompile_headers(zEngineLib PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/pch.h) if(${CMAKE_BUILD_TYPE} STREQUAL "Debug") target_compile_definitions (zEngineLib PUBLIC ENABLE_VULKAN_VALIDATION_LAYER) diff --git a/ZEngine/src/UIComponent.cpp b/ZEngine/ZEngine/Components/UIComponent.cpp similarity index 100% rename from ZEngine/src/UIComponent.cpp rename to ZEngine/ZEngine/Components/UIComponent.cpp diff --git a/ZEngine/include/ZEngine/Components/UIComponent.h b/ZEngine/ZEngine/Components/UIComponent.h similarity index 96% rename from ZEngine/include/ZEngine/Components/UIComponent.h rename to ZEngine/ZEngine/Components/UIComponent.h index d01281c8..eee7ff50 100644 --- a/ZEngine/include/ZEngine/Components/UIComponent.h +++ b/ZEngine/ZEngine/Components/UIComponent.h @@ -1,8 +1,8 @@ #pragma once +#include #include #include #include -#include #include #include #include diff --git a/ZEngine/include/ZEngine/Components/UIComponentEvent.h b/ZEngine/ZEngine/Components/UIComponentEvent.h similarity index 100% rename from ZEngine/include/ZEngine/Components/UIComponentEvent.h rename to ZEngine/ZEngine/Components/UIComponentEvent.h diff --git a/ZEngine/src/CameraController.cpp b/ZEngine/ZEngine/Controllers/CameraController.cpp similarity index 100% rename from ZEngine/src/CameraController.cpp rename to ZEngine/ZEngine/Controllers/CameraController.cpp diff --git a/ZEngine/include/ZEngine/Controllers/CameraControllerTypeEnums.h b/ZEngine/ZEngine/Controllers/CameraControllerTypeEnums.h similarity index 100% rename from ZEngine/include/ZEngine/Controllers/CameraControllerTypeEnums.h rename to ZEngine/ZEngine/Controllers/CameraControllerTypeEnums.h diff --git a/ZEngine/include/ZEngine/Controllers/ICameraController.h b/ZEngine/ZEngine/Controllers/ICameraController.h similarity index 100% rename from ZEngine/include/ZEngine/Controllers/ICameraController.h rename to ZEngine/ZEngine/Controllers/ICameraController.h diff --git a/ZEngine/include/ZEngine/Controllers/IController.h b/ZEngine/ZEngine/Controllers/IController.h similarity index 100% rename from ZEngine/include/ZEngine/Controllers/IController.h rename to ZEngine/ZEngine/Controllers/IController.h diff --git a/ZEngine/src/PerspectiveCameraController.cpp b/ZEngine/ZEngine/Controllers/PerspectiveCameraController.cpp similarity index 100% rename from ZEngine/src/PerspectiveCameraController.cpp rename to ZEngine/ZEngine/Controllers/PerspectiveCameraController.cpp diff --git a/ZEngine/include/ZEngine/Controllers/PerspectiveCameraController.h b/ZEngine/ZEngine/Controllers/PerspectiveCameraController.h similarity index 100% rename from ZEngine/include/ZEngine/Controllers/PerspectiveCameraController.h rename to ZEngine/ZEngine/Controllers/PerspectiveCameraController.h diff --git a/ZEngine/include/ZEngine/Core/Coroutine.h b/ZEngine/ZEngine/Core/Coroutine.h similarity index 100% rename from ZEngine/include/ZEngine/Core/Coroutine.h rename to ZEngine/ZEngine/Core/Coroutine.h diff --git a/ZEngine/src/CoroutineScheduler.cpp b/ZEngine/ZEngine/Core/CoroutineScheduler.cpp similarity index 100% rename from ZEngine/src/CoroutineScheduler.cpp rename to ZEngine/ZEngine/Core/CoroutineScheduler.cpp diff --git a/ZEngine/include/ZEngine/Core/CoroutineScheduler.h b/ZEngine/ZEngine/Core/CoroutineScheduler.h similarity index 100% rename from ZEngine/include/ZEngine/Core/CoroutineScheduler.h rename to ZEngine/ZEngine/Core/CoroutineScheduler.h diff --git a/ZEngine/include/ZEngine/Core/IEventable.h b/ZEngine/ZEngine/Core/IEventable.h similarity index 100% rename from ZEngine/include/ZEngine/Core/IEventable.h rename to ZEngine/ZEngine/Core/IEventable.h diff --git a/ZEngine/include/ZEngine/Core/IGraphicObject.h b/ZEngine/ZEngine/Core/IGraphicObject.h similarity index 100% rename from ZEngine/include/ZEngine/Core/IGraphicObject.h rename to ZEngine/ZEngine/Core/IGraphicObject.h diff --git a/ZEngine/include/ZEngine/Core/IInitializable.h b/ZEngine/ZEngine/Core/IInitializable.h similarity index 100% rename from ZEngine/include/ZEngine/Core/IInitializable.h rename to ZEngine/ZEngine/Core/IInitializable.h diff --git a/ZEngine/include/ZEngine/Core/IPipeline.h b/ZEngine/ZEngine/Core/IPipeline.h similarity index 100% rename from ZEngine/include/ZEngine/Core/IPipeline.h rename to ZEngine/ZEngine/Core/IPipeline.h diff --git a/ZEngine/src/IPipelineContext.cpp b/ZEngine/ZEngine/Core/IPipelineContext.cpp similarity index 100% rename from ZEngine/src/IPipelineContext.cpp rename to ZEngine/ZEngine/Core/IPipelineContext.cpp diff --git a/ZEngine/src/IPipelineStage.cpp b/ZEngine/ZEngine/Core/IPipelineStage.cpp similarity index 100% rename from ZEngine/src/IPipelineStage.cpp rename to ZEngine/ZEngine/Core/IPipelineStage.cpp diff --git a/ZEngine/include/ZEngine/Core/IRenderable.h b/ZEngine/ZEngine/Core/IRenderable.h similarity index 100% rename from ZEngine/include/ZEngine/Core/IRenderable.h rename to ZEngine/ZEngine/Core/IRenderable.h diff --git a/ZEngine/include/ZEngine/Core/ISerializer.h b/ZEngine/ZEngine/Core/ISerializer.h similarity index 100% rename from ZEngine/include/ZEngine/Core/ISerializer.h rename to ZEngine/ZEngine/Core/ISerializer.h diff --git a/ZEngine/include/ZEngine/Core/IUpdatable.h b/ZEngine/ZEngine/Core/IUpdatable.h similarity index 100% rename from ZEngine/include/ZEngine/Core/IUpdatable.h rename to ZEngine/ZEngine/Core/IUpdatable.h diff --git a/ZEngine/include/ZEngine/Core/TimeStep.h b/ZEngine/ZEngine/Core/TimeStep.h similarity index 100% rename from ZEngine/include/ZEngine/Core/TimeStep.h rename to ZEngine/ZEngine/Core/TimeStep.h diff --git a/ZEngine/include/ZEngine/Core/Utility.h b/ZEngine/ZEngine/Core/Utility.h similarity index 100% rename from ZEngine/include/ZEngine/Core/Utility.h rename to ZEngine/ZEngine/Core/Utility.h diff --git a/ZEngine/src/Engine.cpp b/ZEngine/ZEngine/Engine.cpp similarity index 100% rename from ZEngine/src/Engine.cpp rename to ZEngine/ZEngine/Engine.cpp diff --git a/ZEngine/include/ZEngine/Engine.h b/ZEngine/ZEngine/Engine.h similarity index 100% rename from ZEngine/include/ZEngine/Engine.h rename to ZEngine/ZEngine/Engine.h diff --git a/ZEngine/include/ZEngine/EngineConfiguration.h b/ZEngine/ZEngine/EngineConfiguration.h similarity index 100% rename from ZEngine/include/ZEngine/EngineConfiguration.h rename to ZEngine/ZEngine/EngineConfiguration.h diff --git a/ZEngine/include/ZEngine/EntryPoint.h b/ZEngine/ZEngine/EntryPoint.h similarity index 100% rename from ZEngine/include/ZEngine/EntryPoint.h rename to ZEngine/ZEngine/EntryPoint.h diff --git a/ZEngine/include/ZEngine/Event/CoreEvent.h b/ZEngine/ZEngine/Event/CoreEvent.h similarity index 100% rename from ZEngine/include/ZEngine/Event/CoreEvent.h rename to ZEngine/ZEngine/Event/CoreEvent.h diff --git a/ZEngine/include/ZEngine/Event/EngineClosedEvent.h b/ZEngine/ZEngine/Event/EngineClosedEvent.h similarity index 100% rename from ZEngine/include/ZEngine/Event/EngineClosedEvent.h rename to ZEngine/ZEngine/Event/EngineClosedEvent.h diff --git a/ZEngine/include/ZEngine/Event/EventCategory.h b/ZEngine/ZEngine/Event/EventCategory.h similarity index 100% rename from ZEngine/include/ZEngine/Event/EventCategory.h rename to ZEngine/ZEngine/Event/EventCategory.h diff --git a/ZEngine/include/ZEngine/Event/EventDispatcher.h b/ZEngine/ZEngine/Event/EventDispatcher.h similarity index 100% rename from ZEngine/include/ZEngine/Event/EventDispatcher.h rename to ZEngine/ZEngine/Event/EventDispatcher.h diff --git a/ZEngine/include/ZEngine/Event/EventType.h b/ZEngine/ZEngine/Event/EventType.h similarity index 100% rename from ZEngine/include/ZEngine/Event/EventType.h rename to ZEngine/ZEngine/Event/EventType.h diff --git a/ZEngine/include/ZEngine/Event/KeyEvent.h b/ZEngine/ZEngine/Event/KeyEvent.h similarity index 100% rename from ZEngine/include/ZEngine/Event/KeyEvent.h rename to ZEngine/ZEngine/Event/KeyEvent.h diff --git a/ZEngine/include/ZEngine/Event/KeyPressedEvent.h b/ZEngine/ZEngine/Event/KeyPressedEvent.h similarity index 100% rename from ZEngine/include/ZEngine/Event/KeyPressedEvent.h rename to ZEngine/ZEngine/Event/KeyPressedEvent.h diff --git a/ZEngine/include/ZEngine/Event/KeyReleasedEvent.h b/ZEngine/ZEngine/Event/KeyReleasedEvent.h similarity index 100% rename from ZEngine/include/ZEngine/Event/KeyReleasedEvent.h rename to ZEngine/ZEngine/Event/KeyReleasedEvent.h diff --git a/ZEngine/include/ZEngine/Event/MouseButtonMovedEvent.h b/ZEngine/ZEngine/Event/MouseButtonMovedEvent.h similarity index 100% rename from ZEngine/include/ZEngine/Event/MouseButtonMovedEvent.h rename to ZEngine/ZEngine/Event/MouseButtonMovedEvent.h diff --git a/ZEngine/include/ZEngine/Event/MouseButtonPressedEvent.h b/ZEngine/ZEngine/Event/MouseButtonPressedEvent.h similarity index 100% rename from ZEngine/include/ZEngine/Event/MouseButtonPressedEvent.h rename to ZEngine/ZEngine/Event/MouseButtonPressedEvent.h diff --git a/ZEngine/include/ZEngine/Event/MouseButtonReleasedEvent.h b/ZEngine/ZEngine/Event/MouseButtonReleasedEvent.h similarity index 100% rename from ZEngine/include/ZEngine/Event/MouseButtonReleasedEvent.h rename to ZEngine/ZEngine/Event/MouseButtonReleasedEvent.h diff --git a/ZEngine/include/ZEngine/Event/MouseButtonWheelEvent.h b/ZEngine/ZEngine/Event/MouseButtonWheelEvent.h similarity index 100% rename from ZEngine/include/ZEngine/Event/MouseButtonWheelEvent.h rename to ZEngine/ZEngine/Event/MouseButtonWheelEvent.h diff --git a/ZEngine/include/ZEngine/Event/MouseEvent.h b/ZEngine/ZEngine/Event/MouseEvent.h similarity index 100% rename from ZEngine/include/ZEngine/Event/MouseEvent.h rename to ZEngine/ZEngine/Event/MouseEvent.h diff --git a/ZEngine/include/ZEngine/Event/TextInputEvent.h b/ZEngine/ZEngine/Event/TextInputEvent.h similarity index 100% rename from ZEngine/include/ZEngine/Event/TextInputEvent.h rename to ZEngine/ZEngine/Event/TextInputEvent.h diff --git a/ZEngine/include/ZEngine/Event/WindowClosedEvent.h b/ZEngine/ZEngine/Event/WindowClosedEvent.h similarity index 100% rename from ZEngine/include/ZEngine/Event/WindowClosedEvent.h rename to ZEngine/ZEngine/Event/WindowClosedEvent.h diff --git a/ZEngine/include/ZEngine/Event/WindowMaximizedEvent.h b/ZEngine/ZEngine/Event/WindowMaximizedEvent.h similarity index 100% rename from ZEngine/include/ZEngine/Event/WindowMaximizedEvent.h rename to ZEngine/ZEngine/Event/WindowMaximizedEvent.h diff --git a/ZEngine/include/ZEngine/Event/WindowMinimizedEvent.h b/ZEngine/ZEngine/Event/WindowMinimizedEvent.h similarity index 100% rename from ZEngine/include/ZEngine/Event/WindowMinimizedEvent.h rename to ZEngine/ZEngine/Event/WindowMinimizedEvent.h diff --git a/ZEngine/include/ZEngine/Event/WindowResizedEvent.h b/ZEngine/ZEngine/Event/WindowResizedEvent.h similarity index 100% rename from ZEngine/include/ZEngine/Event/WindowResizedEvent.h rename to ZEngine/ZEngine/Event/WindowResizedEvent.h diff --git a/ZEngine/include/ZEngine/Event/WindowsRestoredEvent.h b/ZEngine/ZEngine/Event/WindowsRestoredEvent.h similarity index 100% rename from ZEngine/include/ZEngine/Event/WindowsRestoredEvent.h rename to ZEngine/ZEngine/Event/WindowsRestoredEvent.h diff --git a/ZEngine/src/VulkanDevice.cpp b/ZEngine/ZEngine/Hardwares/VulkanDevice.cpp similarity index 100% rename from ZEngine/src/VulkanDevice.cpp rename to ZEngine/ZEngine/Hardwares/VulkanDevice.cpp diff --git a/ZEngine/include/ZEngine/Hardwares/VulkanDevice.h b/ZEngine/ZEngine/Hardwares/VulkanDevice.h similarity index 100% rename from ZEngine/include/ZEngine/Hardwares/VulkanDevice.h rename to ZEngine/ZEngine/Hardwares/VulkanDevice.h diff --git a/ZEngine/src/VulkanLayer.cpp b/ZEngine/ZEngine/Hardwares/VulkanLayer.cpp similarity index 100% rename from ZEngine/src/VulkanLayer.cpp rename to ZEngine/ZEngine/Hardwares/VulkanLayer.cpp diff --git a/ZEngine/include/ZEngine/Hardwares/VulkanLayer.h b/ZEngine/ZEngine/Hardwares/VulkanLayer.h similarity index 100% rename from ZEngine/include/ZEngine/Hardwares/VulkanLayer.h rename to ZEngine/ZEngine/Hardwares/VulkanLayer.h diff --git a/ZEngine/include/ZEngine/Helpers/ContainerExtension.h b/ZEngine/ZEngine/Helpers/ContainerExtension.h similarity index 100% rename from ZEngine/include/ZEngine/Helpers/ContainerExtension.h rename to ZEngine/ZEngine/Helpers/ContainerExtension.h diff --git a/ZEngine/src/Helper.cpp b/ZEngine/ZEngine/Helpers/Helper.cpp similarity index 100% rename from ZEngine/src/Helper.cpp rename to ZEngine/ZEngine/Helpers/Helper.cpp diff --git a/ZEngine/include/ZEngine/Helpers/IntrusivePtr.h b/ZEngine/ZEngine/Helpers/IntrusivePtr.h similarity index 100% rename from ZEngine/include/ZEngine/Helpers/IntrusivePtr.h rename to ZEngine/ZEngine/Helpers/IntrusivePtr.h diff --git a/ZEngine/include/ZEngine/Helpers/MathHelper.h b/ZEngine/ZEngine/Helpers/MathHelper.h similarity index 100% rename from ZEngine/include/ZEngine/Helpers/MathHelper.h rename to ZEngine/ZEngine/Helpers/MathHelper.h diff --git a/ZEngine/include/ZEngine/Helpers/MemoryOperations.h b/ZEngine/ZEngine/Helpers/MemoryOperations.h similarity index 100% rename from ZEngine/include/ZEngine/Helpers/MemoryOperations.h rename to ZEngine/ZEngine/Helpers/MemoryOperations.h diff --git a/ZEngine/include/ZEngine/Helpers/MeshHelper.h b/ZEngine/ZEngine/Helpers/MeshHelper.h similarity index 100% rename from ZEngine/include/ZEngine/Helpers/MeshHelper.h rename to ZEngine/ZEngine/Helpers/MeshHelper.h diff --git a/ZEngine/src/ThreadPool.cpp b/ZEngine/ZEngine/Helpers/ThreadPool.cpp similarity index 100% rename from ZEngine/src/ThreadPool.cpp rename to ZEngine/ZEngine/Helpers/ThreadPool.cpp diff --git a/ZEngine/include/ZEngine/Helpers/ThreadPool.h b/ZEngine/ZEngine/Helpers/ThreadPool.h similarity index 100% rename from ZEngine/include/ZEngine/Helpers/ThreadPool.h rename to ZEngine/ZEngine/Helpers/ThreadPool.h diff --git a/ZEngine/include/ZEngine/Helpers/ThreadSafeQueue.h b/ZEngine/ZEngine/Helpers/ThreadSafeQueue.h similarity index 100% rename from ZEngine/include/ZEngine/Helpers/ThreadSafeQueue.h rename to ZEngine/ZEngine/Helpers/ThreadSafeQueue.h diff --git a/ZEngine/src/IDevice.cpp b/ZEngine/ZEngine/Inputs/IDevice.cpp similarity index 100% rename from ZEngine/src/IDevice.cpp rename to ZEngine/ZEngine/Inputs/IDevice.cpp diff --git a/ZEngine/include/ZEngine/Inputs/IDevice.h b/ZEngine/ZEngine/Inputs/IDevice.h similarity index 100% rename from ZEngine/include/ZEngine/Inputs/IDevice.h rename to ZEngine/ZEngine/Inputs/IDevice.h diff --git a/ZEngine/include/ZEngine/Inputs/IKeyboardEventCallback.h b/ZEngine/ZEngine/Inputs/IKeyboardEventCallback.h similarity index 100% rename from ZEngine/include/ZEngine/Inputs/IKeyboardEventCallback.h rename to ZEngine/ZEngine/Inputs/IKeyboardEventCallback.h diff --git a/ZEngine/include/ZEngine/Inputs/IMouseEventCallback.h b/ZEngine/ZEngine/Inputs/IMouseEventCallback.h similarity index 100% rename from ZEngine/include/ZEngine/Inputs/IMouseEventCallback.h rename to ZEngine/ZEngine/Inputs/IMouseEventCallback.h diff --git a/ZEngine/include/ZEngine/Inputs/ITextInputEventCallback.h b/ZEngine/ZEngine/Inputs/ITextInputEventCallback.h similarity index 100% rename from ZEngine/include/ZEngine/Inputs/ITextInputEventCallback.h rename to ZEngine/ZEngine/Inputs/ITextInputEventCallback.h diff --git a/ZEngine/include/ZEngine/Inputs/KeyCode.h b/ZEngine/ZEngine/Inputs/KeyCode.h similarity index 100% rename from ZEngine/include/ZEngine/Inputs/KeyCode.h rename to ZEngine/ZEngine/Inputs/KeyCode.h diff --git a/ZEngine/include/ZEngine/Inputs/KeyCodeDefinition.h b/ZEngine/ZEngine/Inputs/KeyCodeDefinition.h similarity index 100% rename from ZEngine/include/ZEngine/Inputs/KeyCodeDefinition.h rename to ZEngine/ZEngine/Inputs/KeyCodeDefinition.h diff --git a/ZEngine/include/ZEngine/Inputs/Keyboard.h b/ZEngine/ZEngine/Inputs/Keyboard.h similarity index 100% rename from ZEngine/include/ZEngine/Inputs/Keyboard.h rename to ZEngine/ZEngine/Inputs/Keyboard.h diff --git a/ZEngine/include/ZEngine/Inputs/Mouse.h b/ZEngine/ZEngine/Inputs/Mouse.h similarity index 100% rename from ZEngine/include/ZEngine/Inputs/Mouse.h rename to ZEngine/ZEngine/Inputs/Mouse.h diff --git a/ZEngine/src/ImguiLayer.cpp b/ZEngine/ZEngine/Layers/ImguiLayer.cpp similarity index 99% rename from ZEngine/src/ImguiLayer.cpp rename to ZEngine/ZEngine/Layers/ImguiLayer.cpp index 412d89a4..d7bb53c5 100644 --- a/ZEngine/src/ImguiLayer.cpp +++ b/ZEngine/ZEngine/Layers/ImguiLayer.cpp @@ -2,7 +2,7 @@ #include #include #include -#include +#include #include #include diff --git a/ZEngine/include/ZEngine/Layers/ImguiLayer.h b/ZEngine/ZEngine/Layers/ImguiLayer.h similarity index 100% rename from ZEngine/include/ZEngine/Layers/ImguiLayer.h rename to ZEngine/ZEngine/Layers/ImguiLayer.h diff --git a/ZEngine/include/ZEngine/Layers/Layer.h b/ZEngine/ZEngine/Layers/Layer.h similarity index 100% rename from ZEngine/include/ZEngine/Layers/Layer.h rename to ZEngine/ZEngine/Layers/Layer.h diff --git a/ZEngine/src/LayerStack.cpp b/ZEngine/ZEngine/Layers/LayerStack.cpp similarity index 100% rename from ZEngine/src/LayerStack.cpp rename to ZEngine/ZEngine/Layers/LayerStack.cpp diff --git a/ZEngine/include/ZEngine/Layers/LayerStack.h b/ZEngine/ZEngine/Layers/LayerStack.h similarity index 100% rename from ZEngine/include/ZEngine/Layers/LayerStack.h rename to ZEngine/ZEngine/Layers/LayerStack.h diff --git a/ZEngine/src/Logger.cpp b/ZEngine/ZEngine/Logging/Logger.cpp similarity index 100% rename from ZEngine/src/Logger.cpp rename to ZEngine/ZEngine/Logging/Logger.cpp diff --git a/ZEngine/include/ZEngine/Logging/Logger.h b/ZEngine/ZEngine/Logging/Logger.h similarity index 100% rename from ZEngine/include/ZEngine/Logging/Logger.h rename to ZEngine/ZEngine/Logging/Logger.h diff --git a/ZEngine/include/ZEngine/Logging/LoggerConfiguration.h b/ZEngine/ZEngine/Logging/LoggerConfiguration.h similarity index 100% rename from ZEngine/include/ZEngine/Logging/LoggerConfiguration.h rename to ZEngine/ZEngine/Logging/LoggerConfiguration.h diff --git a/ZEngine/include/ZEngine/Logging/LoggerDefinition.h b/ZEngine/ZEngine/Logging/LoggerDefinition.h similarity index 100% rename from ZEngine/include/ZEngine/Logging/LoggerDefinition.h rename to ZEngine/ZEngine/Logging/LoggerDefinition.h diff --git a/ZEngine/include/ZEngine/Managers/IAssetManager.h b/ZEngine/ZEngine/Managers/IAssetManager.h similarity index 100% rename from ZEngine/include/ZEngine/Managers/IAssetManager.h rename to ZEngine/ZEngine/Managers/IAssetManager.h diff --git a/ZEngine/include/ZEngine/Managers/IManager.h b/ZEngine/ZEngine/Managers/IManager.h similarity index 100% rename from ZEngine/include/ZEngine/Managers/IManager.h rename to ZEngine/ZEngine/Managers/IManager.h diff --git a/ZEngine/src/ShaderManager.cpp b/ZEngine/ZEngine/Managers/ShaderManager.cpp similarity index 100% rename from ZEngine/src/ShaderManager.cpp rename to ZEngine/ZEngine/Managers/ShaderManager.cpp diff --git a/ZEngine/include/ZEngine/Managers/ShaderManager.h b/ZEngine/ZEngine/Managers/ShaderManager.h similarity index 100% rename from ZEngine/include/ZEngine/Managers/ShaderManager.h rename to ZEngine/ZEngine/Managers/ShaderManager.h diff --git a/ZEngine/src/TextureManager.cpp b/ZEngine/ZEngine/Managers/TextureManager.cpp similarity index 100% rename from ZEngine/src/TextureManager.cpp rename to ZEngine/ZEngine/Managers/TextureManager.cpp diff --git a/ZEngine/include/ZEngine/Managers/TextureManager.h b/ZEngine/ZEngine/Managers/TextureManager.h similarity index 100% rename from ZEngine/include/ZEngine/Managers/TextureManager.h rename to ZEngine/ZEngine/Managers/TextureManager.h diff --git a/ZEngine/src/Math.cpp b/ZEngine/ZEngine/Maths/Math.cpp similarity index 100% rename from ZEngine/src/Math.cpp rename to ZEngine/ZEngine/Maths/Math.cpp diff --git a/ZEngine/include/ZEngine/Maths/Math.h b/ZEngine/ZEngine/Maths/Math.h similarity index 100% rename from ZEngine/include/ZEngine/Maths/Math.h rename to ZEngine/ZEngine/Maths/Math.h diff --git a/ZEngine/include/ZEngine/Rendering/Buffers/Bitmap.h b/ZEngine/ZEngine/Rendering/Buffers/Bitmap.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Buffers/Bitmap.h rename to ZEngine/ZEngine/Rendering/Buffers/Bitmap.h diff --git a/ZEngine/include/ZEngine/Rendering/Buffers/BufferLayout.h b/ZEngine/ZEngine/Rendering/Buffers/BufferLayout.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Buffers/BufferLayout.h rename to ZEngine/ZEngine/Rendering/Buffers/BufferLayout.h diff --git a/ZEngine/src/CommandBuffer.cpp b/ZEngine/ZEngine/Rendering/Buffers/CommandBuffer.cpp similarity index 100% rename from ZEngine/src/CommandBuffer.cpp rename to ZEngine/ZEngine/Rendering/Buffers/CommandBuffer.cpp diff --git a/ZEngine/include/ZEngine/Rendering/Buffers/CommandBuffer.h b/ZEngine/ZEngine/Rendering/Buffers/CommandBuffer.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Buffers/CommandBuffer.h rename to ZEngine/ZEngine/Rendering/Buffers/CommandBuffer.h diff --git a/ZEngine/src/FrameBuffer.cpp b/ZEngine/ZEngine/Rendering/Buffers/FrameBuffer.cpp similarity index 100% rename from ZEngine/src/FrameBuffer.cpp rename to ZEngine/ZEngine/Rendering/Buffers/FrameBuffer.cpp diff --git a/ZEngine/include/ZEngine/Rendering/Buffers/Framebuffer.h b/ZEngine/ZEngine/Rendering/Buffers/Framebuffer.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Buffers/Framebuffer.h rename to ZEngine/ZEngine/Rendering/Buffers/Framebuffer.h diff --git a/ZEngine/include/ZEngine/Rendering/Buffers/GraphicBuffer.h b/ZEngine/ZEngine/Rendering/Buffers/GraphicBuffer.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Buffers/GraphicBuffer.h rename to ZEngine/ZEngine/Rendering/Buffers/GraphicBuffer.h diff --git a/ZEngine/src/Image2DBuffer.cpp b/ZEngine/ZEngine/Rendering/Buffers/Image2DBuffer.cpp similarity index 100% rename from ZEngine/src/Image2DBuffer.cpp rename to ZEngine/ZEngine/Rendering/Buffers/Image2DBuffer.cpp diff --git a/ZEngine/include/ZEngine/Rendering/Buffers/Image2DBuffer.h b/ZEngine/ZEngine/Rendering/Buffers/Image2DBuffer.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Buffers/Image2DBuffer.h rename to ZEngine/ZEngine/Rendering/Buffers/Image2DBuffer.h diff --git a/ZEngine/include/ZEngine/Rendering/Buffers/IndexBuffer.h b/ZEngine/ZEngine/Rendering/Buffers/IndexBuffer.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Buffers/IndexBuffer.h rename to ZEngine/ZEngine/Rendering/Buffers/IndexBuffer.h diff --git a/ZEngine/include/ZEngine/Rendering/Buffers/IndirectBuffer.h b/ZEngine/ZEngine/Rendering/Buffers/IndirectBuffer.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Buffers/IndirectBuffer.h rename to ZEngine/ZEngine/Rendering/Buffers/IndirectBuffer.h diff --git a/ZEngine/include/ZEngine/Rendering/Buffers/PixelBuffer.h b/ZEngine/ZEngine/Rendering/Buffers/PixelBuffer.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Buffers/PixelBuffer.h rename to ZEngine/ZEngine/Rendering/Buffers/PixelBuffer.h diff --git a/ZEngine/include/ZEngine/Rendering/Buffers/StorageBuffer.h b/ZEngine/ZEngine/Rendering/Buffers/StorageBuffer.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Buffers/StorageBuffer.h rename to ZEngine/ZEngine/Rendering/Buffers/StorageBuffer.h diff --git a/ZEngine/include/ZEngine/Rendering/Buffers/UniformBuffer.h b/ZEngine/ZEngine/Rendering/Buffers/UniformBuffer.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Buffers/UniformBuffer.h rename to ZEngine/ZEngine/Rendering/Buffers/UniformBuffer.h diff --git a/ZEngine/include/ZEngine/Rendering/Buffers/VertexBuffer.h b/ZEngine/ZEngine/Rendering/Buffers/VertexBuffer.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Buffers/VertexBuffer.h rename to ZEngine/ZEngine/Rendering/Buffers/VertexBuffer.h diff --git a/ZEngine/include/ZEngine/Rendering/Cameras/Camera.h b/ZEngine/ZEngine/Rendering/Cameras/Camera.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Cameras/Camera.h rename to ZEngine/ZEngine/Rendering/Cameras/Camera.h diff --git a/ZEngine/include/ZEngine/Rendering/Cameras/CameraEnum.h b/ZEngine/ZEngine/Rendering/Cameras/CameraEnum.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Cameras/CameraEnum.h rename to ZEngine/ZEngine/Rendering/Cameras/CameraEnum.h diff --git a/ZEngine/src/PerspectiveCamera.cpp b/ZEngine/ZEngine/Rendering/Cameras/PerspectiveCamera.cpp similarity index 100% rename from ZEngine/src/PerspectiveCamera.cpp rename to ZEngine/ZEngine/Rendering/Cameras/PerspectiveCamera.cpp diff --git a/ZEngine/include/ZEngine/Rendering/Cameras/PerspectiveCamera.h b/ZEngine/ZEngine/Rendering/Cameras/PerspectiveCamera.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Cameras/PerspectiveCamera.h rename to ZEngine/ZEngine/Rendering/Cameras/PerspectiveCamera.h diff --git a/ZEngine/include/ZEngine/Rendering/Components/CameraComponent.h b/ZEngine/ZEngine/Rendering/Components/CameraComponent.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Components/CameraComponent.h rename to ZEngine/ZEngine/Rendering/Components/CameraComponent.h diff --git a/ZEngine/include/ZEngine/Rendering/Components/GeometryComponent.h b/ZEngine/ZEngine/Rendering/Components/GeometryComponent.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Components/GeometryComponent.h rename to ZEngine/ZEngine/Rendering/Components/GeometryComponent.h diff --git a/ZEngine/include/ZEngine/Rendering/Components/LightComponent.h b/ZEngine/ZEngine/Rendering/Components/LightComponent.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Components/LightComponent.h rename to ZEngine/ZEngine/Rendering/Components/LightComponent.h diff --git a/ZEngine/include/ZEngine/Rendering/Components/MaterialComponent.h b/ZEngine/ZEngine/Rendering/Components/MaterialComponent.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Components/MaterialComponent.h rename to ZEngine/ZEngine/Rendering/Components/MaterialComponent.h diff --git a/ZEngine/include/ZEngine/Rendering/Components/NameComponent.h b/ZEngine/ZEngine/Rendering/Components/NameComponent.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Components/NameComponent.h rename to ZEngine/ZEngine/Rendering/Components/NameComponent.h diff --git a/ZEngine/include/ZEngine/Rendering/Components/TransformComponent.h b/ZEngine/ZEngine/Rendering/Components/TransformComponent.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Components/TransformComponent.h rename to ZEngine/ZEngine/Rendering/Components/TransformComponent.h diff --git a/ZEngine/include/ZEngine/Rendering/Components/UUIComponent.h b/ZEngine/ZEngine/Rendering/Components/UUIComponent.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Components/UUIComponent.h rename to ZEngine/ZEngine/Rendering/Components/UUIComponent.h diff --git a/ZEngine/include/ZEngine/Rendering/Components/ValidComponent.h b/ZEngine/ZEngine/Rendering/Components/ValidComponent.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Components/ValidComponent.h rename to ZEngine/ZEngine/Rendering/Components/ValidComponent.h diff --git a/ZEngine/src/GraphicSceneEntity.cpp b/ZEngine/ZEngine/Rendering/Entities/GraphicSceneEntity.cpp similarity index 100% rename from ZEngine/src/GraphicSceneEntity.cpp rename to ZEngine/ZEngine/Rendering/Entities/GraphicSceneEntity.cpp diff --git a/ZEngine/include/ZEngine/Rendering/Entities/GraphicSceneEntity.h b/ZEngine/ZEngine/Rendering/Entities/GraphicSceneEntity.h similarity index 98% rename from ZEngine/include/ZEngine/Rendering/Entities/GraphicSceneEntity.h rename to ZEngine/ZEngine/Rendering/Entities/GraphicSceneEntity.h index df91d1a4..756c6ab1 100644 --- a/ZEngine/include/ZEngine/Rendering/Entities/GraphicSceneEntity.h +++ b/ZEngine/ZEngine/Rendering/Entities/GraphicSceneEntity.h @@ -1,5 +1,5 @@ #pragma once -#include +#include #include #include #include diff --git a/ZEngine/include/ZEngine/Rendering/GPUTypes.h b/ZEngine/ZEngine/Rendering/GPUTypes.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/GPUTypes.h rename to ZEngine/ZEngine/Rendering/GPUTypes.h diff --git a/ZEngine/src/CubeGeometry.cpp b/ZEngine/ZEngine/Rendering/Geometries/CubeGeometry.cpp similarity index 100% rename from ZEngine/src/CubeGeometry.cpp rename to ZEngine/ZEngine/Rendering/Geometries/CubeGeometry.cpp diff --git a/ZEngine/include/ZEngine/Rendering/Geometries/CubeGeometry.h b/ZEngine/ZEngine/Rendering/Geometries/CubeGeometry.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Geometries/CubeGeometry.h rename to ZEngine/ZEngine/Rendering/Geometries/CubeGeometry.h diff --git a/ZEngine/include/ZEngine/Rendering/Geometries/GeometryEnum.h b/ZEngine/ZEngine/Rendering/Geometries/GeometryEnum.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Geometries/GeometryEnum.h rename to ZEngine/ZEngine/Rendering/Geometries/GeometryEnum.h diff --git a/ZEngine/include/ZEngine/Rendering/Geometries/IGeometry.h b/ZEngine/ZEngine/Rendering/Geometries/IGeometry.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Geometries/IGeometry.h rename to ZEngine/ZEngine/Rendering/Geometries/IGeometry.h diff --git a/ZEngine/src/QuadGeometry.cpp b/ZEngine/ZEngine/Rendering/Geometries/QuadGeometry.cpp similarity index 100% rename from ZEngine/src/QuadGeometry.cpp rename to ZEngine/ZEngine/Rendering/Geometries/QuadGeometry.cpp diff --git a/ZEngine/include/ZEngine/Rendering/Geometries/QuadGeometry.h b/ZEngine/ZEngine/Rendering/Geometries/QuadGeometry.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Geometries/QuadGeometry.h rename to ZEngine/ZEngine/Rendering/Geometries/QuadGeometry.h diff --git a/ZEngine/src/SquareGeometry.cpp b/ZEngine/ZEngine/Rendering/Geometries/SquareGeometry.cpp similarity index 100% rename from ZEngine/src/SquareGeometry.cpp rename to ZEngine/ZEngine/Rendering/Geometries/SquareGeometry.cpp diff --git a/ZEngine/include/ZEngine/Rendering/Geometries/SquareGeometry.h b/ZEngine/ZEngine/Rendering/Geometries/SquareGeometry.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Geometries/SquareGeometry.h rename to ZEngine/ZEngine/Rendering/Geometries/SquareGeometry.h diff --git a/ZEngine/include/ZEngine/Rendering/Lights/Light.h b/ZEngine/ZEngine/Rendering/Lights/Light.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Lights/Light.h rename to ZEngine/ZEngine/Rendering/Lights/Light.h diff --git a/ZEngine/src/BasicMaterial.cpp b/ZEngine/ZEngine/Rendering/Materials/BasicMaterial.cpp similarity index 100% rename from ZEngine/src/BasicMaterial.cpp rename to ZEngine/ZEngine/Rendering/Materials/BasicMaterial.cpp diff --git a/ZEngine/include/ZEngine/Rendering/Materials/BasicMaterial.h b/ZEngine/ZEngine/Rendering/Materials/BasicMaterial.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Materials/BasicMaterial.h rename to ZEngine/ZEngine/Rendering/Materials/BasicMaterial.h diff --git a/ZEngine/include/ZEngine/Rendering/Materials/IMaterial.h b/ZEngine/ZEngine/Rendering/Materials/IMaterial.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Materials/IMaterial.h rename to ZEngine/ZEngine/Rendering/Materials/IMaterial.h diff --git a/ZEngine/src/ShaderMaterial.cpp b/ZEngine/ZEngine/Rendering/Materials/ShaderMaterial.cpp similarity index 100% rename from ZEngine/src/ShaderMaterial.cpp rename to ZEngine/ZEngine/Rendering/Materials/ShaderMaterial.cpp diff --git a/ZEngine/include/ZEngine/Rendering/Materials/ShaderMaterial.h b/ZEngine/ZEngine/Rendering/Materials/ShaderMaterial.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Materials/ShaderMaterial.h rename to ZEngine/ZEngine/Rendering/Materials/ShaderMaterial.h diff --git a/ZEngine/src/StandardMaterial.cpp b/ZEngine/ZEngine/Rendering/Materials/StandardMaterial.cpp similarity index 100% rename from ZEngine/src/StandardMaterial.cpp rename to ZEngine/ZEngine/Rendering/Materials/StandardMaterial.cpp diff --git a/ZEngine/include/ZEngine/Rendering/Materials/StandardMaterial.h b/ZEngine/ZEngine/Rendering/Materials/StandardMaterial.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Materials/StandardMaterial.h rename to ZEngine/ZEngine/Rendering/Materials/StandardMaterial.h diff --git a/ZEngine/include/ZEngine/Rendering/Meshes/Mesh.h b/ZEngine/ZEngine/Rendering/Meshes/Mesh.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Meshes/Mesh.h rename to ZEngine/ZEngine/Rendering/Meshes/Mesh.h diff --git a/ZEngine/src/MeshBuilder.cpp b/ZEngine/ZEngine/Rendering/Meshes/MeshBuilder.cpp similarity index 100% rename from ZEngine/src/MeshBuilder.cpp rename to ZEngine/ZEngine/Rendering/Meshes/MeshBuilder.cpp diff --git a/ZEngine/include/ZEngine/Rendering/Meshes/MeshBuilder.h b/ZEngine/ZEngine/Rendering/Meshes/MeshBuilder.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Meshes/MeshBuilder.h rename to ZEngine/ZEngine/Rendering/Meshes/MeshBuilder.h diff --git a/ZEngine/include/ZEngine/Rendering/Meshes/MeshLight.h b/ZEngine/ZEngine/Rendering/Meshes/MeshLight.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Meshes/MeshLight.h rename to ZEngine/ZEngine/Rendering/Meshes/MeshLight.h diff --git a/ZEngine/src/CommandPool.cpp b/ZEngine/ZEngine/Rendering/Pools/CommandPool.cpp similarity index 100% rename from ZEngine/src/CommandPool.cpp rename to ZEngine/ZEngine/Rendering/Pools/CommandPool.cpp diff --git a/ZEngine/include/ZEngine/Rendering/Pools/CommandPool.h b/ZEngine/ZEngine/Rendering/Pools/CommandPool.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Pools/CommandPool.h rename to ZEngine/ZEngine/Rendering/Pools/CommandPool.h diff --git a/ZEngine/src/Fence.cpp b/ZEngine/ZEngine/Rendering/Primitives/Fence.cpp similarity index 100% rename from ZEngine/src/Fence.cpp rename to ZEngine/ZEngine/Rendering/Primitives/Fence.cpp diff --git a/ZEngine/include/ZEngine/Rendering/Primitives/Fence.h b/ZEngine/ZEngine/Rendering/Primitives/Fence.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Primitives/Fence.h rename to ZEngine/ZEngine/Rendering/Primitives/Fence.h diff --git a/ZEngine/src/ImageMemoryBarrier.cpp b/ZEngine/ZEngine/Rendering/Primitives/ImageMemoryBarrier.cpp similarity index 100% rename from ZEngine/src/ImageMemoryBarrier.cpp rename to ZEngine/ZEngine/Rendering/Primitives/ImageMemoryBarrier.cpp diff --git a/ZEngine/include/ZEngine/Rendering/Primitives/ImageMemoryBarrier.h b/ZEngine/ZEngine/Rendering/Primitives/ImageMemoryBarrier.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Primitives/ImageMemoryBarrier.h rename to ZEngine/ZEngine/Rendering/Primitives/ImageMemoryBarrier.h diff --git a/ZEngine/src/Semaphore.cpp b/ZEngine/ZEngine/Rendering/Primitives/Semaphore.cpp similarity index 100% rename from ZEngine/src/Semaphore.cpp rename to ZEngine/ZEngine/Rendering/Primitives/Semaphore.cpp diff --git a/ZEngine/include/ZEngine/Rendering/Primitives/Semaphore.h b/ZEngine/ZEngine/Rendering/Primitives/Semaphore.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Primitives/Semaphore.h rename to ZEngine/ZEngine/Rendering/Primitives/Semaphore.h diff --git a/ZEngine/include/ZEngine/Rendering/Renderers/Contracts/RendererDataContract.h b/ZEngine/ZEngine/Rendering/Renderers/Contracts/RendererDataContract.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Renderers/Contracts/RendererDataContract.h rename to ZEngine/ZEngine/Rendering/Renderers/Contracts/RendererDataContract.h diff --git a/ZEngine/src/GraphicRenderer.cpp b/ZEngine/ZEngine/Rendering/Renderers/GraphicRenderer.cpp similarity index 100% rename from ZEngine/src/GraphicRenderer.cpp rename to ZEngine/ZEngine/Rendering/Renderers/GraphicRenderer.cpp diff --git a/ZEngine/include/ZEngine/Rendering/Renderers/GraphicRenderer.h b/ZEngine/ZEngine/Rendering/Renderers/GraphicRenderer.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Renderers/GraphicRenderer.h rename to ZEngine/ZEngine/Rendering/Renderers/GraphicRenderer.h diff --git a/ZEngine/include/ZEngine/Rendering/Renderers/GraphicRendererInformation.h b/ZEngine/ZEngine/Rendering/Renderers/GraphicRendererInformation.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Renderers/GraphicRendererInformation.h rename to ZEngine/ZEngine/Rendering/Renderers/GraphicRendererInformation.h diff --git a/ZEngine/src/ImGUIRenderer.cpp b/ZEngine/ZEngine/Rendering/Renderers/ImGUIRenderer.cpp similarity index 100% rename from ZEngine/src/ImGUIRenderer.cpp rename to ZEngine/ZEngine/Rendering/Renderers/ImGUIRenderer.cpp diff --git a/ZEngine/include/ZEngine/Rendering/Renderers/ImGUIRenderer.h b/ZEngine/ZEngine/Rendering/Renderers/ImGUIRenderer.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Renderers/ImGUIRenderer.h rename to ZEngine/ZEngine/Rendering/Renderers/ImGUIRenderer.h diff --git a/ZEngine/include/ZEngine/Rendering/Renderers/Pipelines/GraphicRendererPipelineInformation.h b/ZEngine/ZEngine/Rendering/Renderers/Pipelines/GraphicRendererPipelineInformation.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Renderers/Pipelines/GraphicRendererPipelineInformation.h rename to ZEngine/ZEngine/Rendering/Renderers/Pipelines/GraphicRendererPipelineInformation.h diff --git a/ZEngine/include/ZEngine/Rendering/Renderers/Pipelines/IGraphicRendererPipelineStage.h b/ZEngine/ZEngine/Rendering/Renderers/Pipelines/IGraphicRendererPipelineStage.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Renderers/Pipelines/IGraphicRendererPipelineStage.h rename to ZEngine/ZEngine/Rendering/Renderers/Pipelines/IGraphicRendererPipelineStage.h diff --git a/ZEngine/src/RendererPipeline.cpp b/ZEngine/ZEngine/Rendering/Renderers/Pipelines/RendererPipeline.cpp similarity index 100% rename from ZEngine/src/RendererPipeline.cpp rename to ZEngine/ZEngine/Rendering/Renderers/Pipelines/RendererPipeline.cpp diff --git a/ZEngine/include/ZEngine/Rendering/Renderers/Pipelines/RendererPipeline.h b/ZEngine/ZEngine/Rendering/Renderers/Pipelines/RendererPipeline.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Renderers/Pipelines/RendererPipeline.h rename to ZEngine/ZEngine/Rendering/Renderers/Pipelines/RendererPipeline.h diff --git a/ZEngine/src/RenderGraph.cpp b/ZEngine/ZEngine/Rendering/Renderers/RenderGraph.cpp similarity index 100% rename from ZEngine/src/RenderGraph.cpp rename to ZEngine/ZEngine/Rendering/Renderers/RenderGraph.cpp diff --git a/ZEngine/include/ZEngine/Rendering/Renderers/RenderGraph.h b/ZEngine/ZEngine/Rendering/Renderers/RenderGraph.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Renderers/RenderGraph.h rename to ZEngine/ZEngine/Rendering/Renderers/RenderGraph.h diff --git a/ZEngine/src/Attachment.cpp b/ZEngine/ZEngine/Rendering/Renderers/RenderPasses/Attachment.cpp similarity index 100% rename from ZEngine/src/Attachment.cpp rename to ZEngine/ZEngine/Rendering/Renderers/RenderPasses/Attachment.cpp diff --git a/ZEngine/include/ZEngine/Rendering/Renderers/RenderPasses/Attachment.h b/ZEngine/ZEngine/Rendering/Renderers/RenderPasses/Attachment.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Renderers/RenderPasses/Attachment.h rename to ZEngine/ZEngine/Rendering/Renderers/RenderPasses/Attachment.h diff --git a/ZEngine/src/RenderPass.cpp b/ZEngine/ZEngine/Rendering/Renderers/RenderPasses/RenderPass.cpp similarity index 100% rename from ZEngine/src/RenderPass.cpp rename to ZEngine/ZEngine/Rendering/Renderers/RenderPasses/RenderPass.cpp diff --git a/ZEngine/include/ZEngine/Rendering/Renderers/RenderPasses/RenderPass.h b/ZEngine/ZEngine/Rendering/Renderers/RenderPasses/RenderPass.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Renderers/RenderPasses/RenderPass.h rename to ZEngine/ZEngine/Rendering/Renderers/RenderPasses/RenderPass.h diff --git a/ZEngine/src/SceneRenderer.cpp b/ZEngine/ZEngine/Rendering/Renderers/SceneRenderer.cpp similarity index 100% rename from ZEngine/src/SceneRenderer.cpp rename to ZEngine/ZEngine/Rendering/Renderers/SceneRenderer.cpp diff --git a/ZEngine/include/ZEngine/Rendering/Renderers/SceneRenderer.h b/ZEngine/ZEngine/Rendering/Renderers/SceneRenderer.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Renderers/SceneRenderer.h rename to ZEngine/ZEngine/Rendering/Renderers/SceneRenderer.h diff --git a/ZEngine/src/GraphicVertex.cpp b/ZEngine/ZEngine/Rendering/Renderers/Storages/GraphicVertex.cpp similarity index 100% rename from ZEngine/src/GraphicVertex.cpp rename to ZEngine/ZEngine/Rendering/Renderers/Storages/GraphicVertex.cpp diff --git a/ZEngine/include/ZEngine/Rendering/Renderers/Storages/GraphicVertex.h b/ZEngine/ZEngine/Rendering/Renderers/Storages/GraphicVertex.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Renderers/Storages/GraphicVertex.h rename to ZEngine/ZEngine/Rendering/Renderers/Storages/GraphicVertex.h diff --git a/ZEngine/include/ZEngine/Rendering/Renderers/Storages/IVertex.h b/ZEngine/ZEngine/Rendering/Renderers/Storages/IVertex.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Renderers/Storages/IVertex.h rename to ZEngine/ZEngine/Rendering/Renderers/Storages/IVertex.h diff --git a/ZEngine/include/ZEngine/Rendering/ResourceTypes.h b/ZEngine/ZEngine/Rendering/ResourceTypes.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/ResourceTypes.h rename to ZEngine/ZEngine/Rendering/ResourceTypes.h diff --git a/ZEngine/src/GraphicScene.cpp b/ZEngine/ZEngine/Rendering/Scenes/GraphicScene.cpp similarity index 100% rename from ZEngine/src/GraphicScene.cpp rename to ZEngine/ZEngine/Rendering/Scenes/GraphicScene.cpp diff --git a/ZEngine/include/ZEngine/Rendering/Scenes/GraphicScene.h b/ZEngine/ZEngine/Rendering/Scenes/GraphicScene.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Scenes/GraphicScene.h rename to ZEngine/ZEngine/Rendering/Scenes/GraphicScene.h diff --git a/ZEngine/src/CompilationStage.cpp b/ZEngine/ZEngine/Rendering/Shaders/Compilers/CompilationStage.cpp similarity index 100% rename from ZEngine/src/CompilationStage.cpp rename to ZEngine/ZEngine/Rendering/Shaders/Compilers/CompilationStage.cpp diff --git a/ZEngine/include/ZEngine/Rendering/Shaders/Compilers/CompilationStage.h b/ZEngine/ZEngine/Rendering/Shaders/Compilers/CompilationStage.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Shaders/Compilers/CompilationStage.h rename to ZEngine/ZEngine/Rendering/Shaders/Compilers/CompilationStage.h diff --git a/ZEngine/include/ZEngine/Rendering/Shaders/Compilers/ICompilerStage.h b/ZEngine/ZEngine/Rendering/Shaders/Compilers/ICompilerStage.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Shaders/Compilers/ICompilerStage.h rename to ZEngine/ZEngine/Rendering/Shaders/Compilers/ICompilerStage.h diff --git a/ZEngine/src/ShaderCompiler.cpp b/ZEngine/ZEngine/Rendering/Shaders/Compilers/ShaderCompiler.cpp similarity index 100% rename from ZEngine/src/ShaderCompiler.cpp rename to ZEngine/ZEngine/Rendering/Shaders/Compilers/ShaderCompiler.cpp diff --git a/ZEngine/include/ZEngine/Rendering/Shaders/Compilers/ShaderCompiler.h b/ZEngine/ZEngine/Rendering/Shaders/Compilers/ShaderCompiler.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Shaders/Compilers/ShaderCompiler.h rename to ZEngine/ZEngine/Rendering/Shaders/Compilers/ShaderCompiler.h diff --git a/ZEngine/src/ShaderFileGenerator.cpp b/ZEngine/ZEngine/Rendering/Shaders/Compilers/ShaderFileGenerator.cpp similarity index 100% rename from ZEngine/src/ShaderFileGenerator.cpp rename to ZEngine/ZEngine/Rendering/Shaders/Compilers/ShaderFileGenerator.cpp diff --git a/ZEngine/include/ZEngine/Rendering/Shaders/Compilers/ShaderFileGenerator.h b/ZEngine/ZEngine/Rendering/Shaders/Compilers/ShaderFileGenerator.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Shaders/Compilers/ShaderFileGenerator.h rename to ZEngine/ZEngine/Rendering/Shaders/Compilers/ShaderFileGenerator.h diff --git a/ZEngine/src/ValidationStage.cpp b/ZEngine/ZEngine/Rendering/Shaders/Compilers/ValidationStage.cpp similarity index 100% rename from ZEngine/src/ValidationStage.cpp rename to ZEngine/ZEngine/Rendering/Shaders/Compilers/ValidationStage.cpp diff --git a/ZEngine/include/ZEngine/Rendering/Shaders/Compilers/ValidationStage.h b/ZEngine/ZEngine/Rendering/Shaders/Compilers/ValidationStage.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Shaders/Compilers/ValidationStage.h rename to ZEngine/ZEngine/Rendering/Shaders/Compilers/ValidationStage.h diff --git a/ZEngine/src/Shader.cpp b/ZEngine/ZEngine/Rendering/Shaders/Shader.cpp similarity index 100% rename from ZEngine/src/Shader.cpp rename to ZEngine/ZEngine/Rendering/Shaders/Shader.cpp diff --git a/ZEngine/include/ZEngine/Rendering/Shaders/Shader.h b/ZEngine/ZEngine/Rendering/Shaders/Shader.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Shaders/Shader.h rename to ZEngine/ZEngine/Rendering/Shaders/Shader.h diff --git a/ZEngine/include/ZEngine/Rendering/Shaders/ShaderEnums.h b/ZEngine/ZEngine/Rendering/Shaders/ShaderEnums.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Shaders/ShaderEnums.h rename to ZEngine/ZEngine/Rendering/Shaders/ShaderEnums.h diff --git a/ZEngine/include/ZEngine/Rendering/Shaders/ShaderIncluder.h b/ZEngine/ZEngine/Rendering/Shaders/ShaderIncluder.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Shaders/ShaderIncluder.h rename to ZEngine/ZEngine/Rendering/Shaders/ShaderIncluder.h diff --git a/ZEngine/include/ZEngine/Rendering/Shaders/ShaderInformation.h b/ZEngine/ZEngine/Rendering/Shaders/ShaderInformation.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Shaders/ShaderInformation.h rename to ZEngine/ZEngine/Rendering/Shaders/ShaderInformation.h diff --git a/ZEngine/src/ShaderReader.cpp b/ZEngine/ZEngine/Rendering/Shaders/ShaderReader.cpp similarity index 100% rename from ZEngine/src/ShaderReader.cpp rename to ZEngine/ZEngine/Rendering/Shaders/ShaderReader.cpp diff --git a/ZEngine/include/ZEngine/Rendering/Shaders/ShaderReader.h b/ZEngine/ZEngine/Rendering/Shaders/ShaderReader.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Shaders/ShaderReader.h rename to ZEngine/ZEngine/Rendering/Shaders/ShaderReader.h diff --git a/ZEngine/include/ZEngine/Rendering/Specifications/AttachmentSpecification.h b/ZEngine/ZEngine/Rendering/Specifications/AttachmentSpecification.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Specifications/AttachmentSpecification.h rename to ZEngine/ZEngine/Rendering/Specifications/AttachmentSpecification.h diff --git a/ZEngine/include/ZEngine/Rendering/Specifications/FormatSpecification.h b/ZEngine/ZEngine/Rendering/Specifications/FormatSpecification.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Specifications/FormatSpecification.h rename to ZEngine/ZEngine/Rendering/Specifications/FormatSpecification.h diff --git a/ZEngine/include/ZEngine/Rendering/Specifications/FrameBufferSpecification.h b/ZEngine/ZEngine/Rendering/Specifications/FrameBufferSpecification.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Specifications/FrameBufferSpecification.h rename to ZEngine/ZEngine/Rendering/Specifications/FrameBufferSpecification.h diff --git a/ZEngine/include/ZEngine/Rendering/Specifications/GraphicRendererPipelineSpecification.h b/ZEngine/ZEngine/Rendering/Specifications/GraphicRendererPipelineSpecification.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Specifications/GraphicRendererPipelineSpecification.h rename to ZEngine/ZEngine/Rendering/Specifications/GraphicRendererPipelineSpecification.h diff --git a/ZEngine/include/ZEngine/Rendering/Specifications/ImageMemoryBarrierSpecification.h b/ZEngine/ZEngine/Rendering/Specifications/ImageMemoryBarrierSpecification.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Specifications/ImageMemoryBarrierSpecification.h rename to ZEngine/ZEngine/Rendering/Specifications/ImageMemoryBarrierSpecification.h diff --git a/ZEngine/include/ZEngine/Rendering/Specifications/RenderPassSpecification.h b/ZEngine/ZEngine/Rendering/Specifications/RenderPassSpecification.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Specifications/RenderPassSpecification.h rename to ZEngine/ZEngine/Rendering/Specifications/RenderPassSpecification.h diff --git a/ZEngine/include/ZEngine/Rendering/Specifications/ShaderSpecification.h b/ZEngine/ZEngine/Rendering/Specifications/ShaderSpecification.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Specifications/ShaderSpecification.h rename to ZEngine/ZEngine/Rendering/Specifications/ShaderSpecification.h diff --git a/ZEngine/include/ZEngine/Rendering/Specifications/TextureSpecification.h b/ZEngine/ZEngine/Rendering/Specifications/TextureSpecification.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Specifications/TextureSpecification.h rename to ZEngine/ZEngine/Rendering/Specifications/TextureSpecification.h diff --git a/ZEngine/src/Swapchain.cpp b/ZEngine/ZEngine/Rendering/Swapchain.cpp similarity index 100% rename from ZEngine/src/Swapchain.cpp rename to ZEngine/ZEngine/Rendering/Swapchain.cpp diff --git a/ZEngine/include/ZEngine/Rendering/Swapchain.h b/ZEngine/ZEngine/Rendering/Swapchain.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Swapchain.h rename to ZEngine/ZEngine/Rendering/Swapchain.h diff --git a/ZEngine/include/ZEngine/Rendering/Textures/Texture.h b/ZEngine/ZEngine/Rendering/Textures/Texture.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Textures/Texture.h rename to ZEngine/ZEngine/Rendering/Textures/Texture.h diff --git a/ZEngine/src/Texture2D.cpp b/ZEngine/ZEngine/Rendering/Textures/Texture2D.cpp similarity index 100% rename from ZEngine/src/Texture2D.cpp rename to ZEngine/ZEngine/Rendering/Textures/Texture2D.cpp diff --git a/ZEngine/include/ZEngine/Rendering/Textures/Texture2D.h b/ZEngine/ZEngine/Rendering/Textures/Texture2D.h similarity index 100% rename from ZEngine/include/ZEngine/Rendering/Textures/Texture2D.h rename to ZEngine/ZEngine/Rendering/Textures/Texture2D.h diff --git a/ZEngine/src/GraphicScene3DSerializer.cpp b/ZEngine/ZEngine/Serializers/GraphicScene3DSerializer.cpp similarity index 100% rename from ZEngine/src/GraphicScene3DSerializer.cpp rename to ZEngine/ZEngine/Serializers/GraphicScene3DSerializer.cpp diff --git a/ZEngine/include/ZEngine/Serializers/GraphicScene3DSerializer.h b/ZEngine/ZEngine/Serializers/GraphicScene3DSerializer.h similarity index 100% rename from ZEngine/include/ZEngine/Serializers/GraphicScene3DSerializer.h rename to ZEngine/ZEngine/Serializers/GraphicScene3DSerializer.h diff --git a/ZEngine/include/ZEngine/Serializers/GraphicSceneSerializer.h b/ZEngine/ZEngine/Serializers/GraphicSceneSerializer.h similarity index 100% rename from ZEngine/include/ZEngine/Serializers/GraphicSceneSerializer.h rename to ZEngine/ZEngine/Serializers/GraphicSceneSerializer.h diff --git a/ZEngine/src/CoreWindow.cpp b/ZEngine/ZEngine/Window/CoreWindow.cpp similarity index 98% rename from ZEngine/src/CoreWindow.cpp rename to ZEngine/ZEngine/Window/CoreWindow.cpp index 3c04546c..7d79a47c 100644 --- a/ZEngine/src/CoreWindow.cpp +++ b/ZEngine/ZEngine/Window/CoreWindow.cpp @@ -1,7 +1,7 @@ #include +#include #include #include -#include #include using namespace ZEngine; diff --git a/ZEngine/include/ZEngine/Window/CoreWindow.h b/ZEngine/ZEngine/Window/CoreWindow.h similarity index 100% rename from ZEngine/include/ZEngine/Window/CoreWindow.h rename to ZEngine/ZEngine/Window/CoreWindow.h diff --git a/ZEngine/src/GlfwWindow/VulkanWindow.cpp b/ZEngine/ZEngine/Window/GlfwWindow/VulkanWindow.cpp similarity index 100% rename from ZEngine/src/GlfwWindow/VulkanWindow.cpp rename to ZEngine/ZEngine/Window/GlfwWindow/VulkanWindow.cpp diff --git a/ZEngine/include/ZEngine/Window/GlfwWindow/VulkanWindow.h b/ZEngine/ZEngine/Window/GlfwWindow/VulkanWindow.h similarity index 100% rename from ZEngine/include/ZEngine/Window/GlfwWindow/VulkanWindow.h rename to ZEngine/ZEngine/Window/GlfwWindow/VulkanWindow.h diff --git a/ZEngine/include/ZEngine/Window/ICoreWindowEventCallback.h b/ZEngine/ZEngine/Window/ICoreWindowEventCallback.h similarity index 100% rename from ZEngine/include/ZEngine/Window/ICoreWindowEventCallback.h rename to ZEngine/ZEngine/Window/ICoreWindowEventCallback.h diff --git a/ZEngine/include/ZEngine/Window/WindowConfiguration.h b/ZEngine/ZEngine/Window/WindowConfiguration.h similarity index 100% rename from ZEngine/include/ZEngine/Window/WindowConfiguration.h rename to ZEngine/ZEngine/Window/WindowConfiguration.h diff --git a/ZEngine/include/ZEngine/Window/WindowProperty.h b/ZEngine/ZEngine/Window/WindowProperty.h similarity index 100% rename from ZEngine/include/ZEngine/Window/WindowProperty.h rename to ZEngine/ZEngine/Window/WindowProperty.h diff --git a/ZEngine/include/ZEngine/ZEngine.h b/ZEngine/ZEngine/ZEngine.h similarity index 100% rename from ZEngine/include/ZEngine/ZEngine.h rename to ZEngine/ZEngine/ZEngine.h diff --git a/ZEngine/include/ZEngine/ZEngineDef.h b/ZEngine/ZEngine/ZEngineDef.h similarity index 100% rename from ZEngine/include/ZEngine/ZEngineDef.h rename to ZEngine/ZEngine/ZEngineDef.h diff --git a/ZEngine/src/pch.cpp b/ZEngine/ZEngine/pch.cpp similarity index 100% rename from ZEngine/src/pch.cpp rename to ZEngine/ZEngine/pch.cpp diff --git a/ZEngine/include/ZEngine/pch.h b/ZEngine/ZEngine/pch.h similarity index 100% rename from ZEngine/include/ZEngine/pch.h rename to ZEngine/ZEngine/pch.h From 848afca77e97712955ecc70591b99c6c26cb2f65 Mon Sep 17 00:00:00 2001 From: Jean Philippe Date: Wed, 16 Oct 2024 23:05:09 +0100 Subject: [PATCH 2/7] deleted noisy code --- Tetragrama/src/CMakeLists.txt | 7 +------ ZEngine/ZEngine/CMakeLists.txt | 8 +------- dependencies.cmake | 9 --------- 3 files changed, 2 insertions(+), 22 deletions(-) delete mode 100644 dependencies.cmake diff --git a/Tetragrama/src/CMakeLists.txt b/Tetragrama/src/CMakeLists.txt index 8a8e04ed..83357956 100644 --- a/Tetragrama/src/CMakeLists.txt +++ b/Tetragrama/src/CMakeLists.txt @@ -1,5 +1,3 @@ -include (${ENLISTMENT_ROOT}/dependencies.cmake) - file (GLOB_RECURSE HEADER_FILES CONFIGURE_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/*.h) file (GLOB_RECURSE CPP_FILES CONFIGURE_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp) @@ -43,9 +41,6 @@ target_compile_definitions(${TARGET_NAME} _UNICODE ) -target_link_libraries(${TARGET_NAME} - PRIVATE - imported::zEngineLib -) +target_link_libraries(${TARGET_NAME} PRIVATE zEngineLib) set_target_properties(${TARGET_NAME} PROPERTIES OUTPUT_NAME "zEngineEditor") \ No newline at end of file diff --git a/ZEngine/ZEngine/CMakeLists.txt b/ZEngine/ZEngine/CMakeLists.txt index c43c4a89..283f21e0 100644 --- a/ZEngine/ZEngine/CMakeLists.txt +++ b/ZEngine/ZEngine/CMakeLists.txt @@ -4,24 +4,18 @@ file (GLOB_RECURSE HEADER_FILES_LIST CONFIGURE_DEPENDS ${CMAKE_CURRENT_SOURCE_DI file (GLOB_RECURSE CPP_FILES_LIST CONFIGURE_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp) file (GLOB_RECURSE RESOURCE_FILES_LIST CONFIGURE_DEPENDS ${PROJECT_SOURCE_DIR}/../Resources/Shaders/*.*) -# source_group (TREE ${PROJECT_SOURCE_DIR}/include PREFIX "Header Files" FILES ${HEADER_FILES_LIST}) -# source_group (TREE ${PROJECT_SOURCE_DIR}/src PREFIX "Source Files" FILES ${CPP_FILES_LIST}) - source_group (TREE ${PROJECT_SOURCE_DIR}/ZEngine PREFIX "Source Files" FILES ${HEADER_FILES_LIST} ${CPP_FILES_LIST}) source_group (TREE ${PROJECT_SOURCE_DIR}/../Resources PREFIX "Resources Files" FILES ${RESOURCE_FILES_LIST}) # ZEngine source files # -# list (APPEND Sources ${CPP_FILES_LIST} GlfwWindow/VulkanWindow.cpp) - add_library (zEngineLib STATIC ${HEADER_FILES_LIST} ${CPP_FILES_LIST} - # ${Sources} + ${RESOURCE_FILES_LIST} ${EXTERNAL_DIR}/ImGuizmo/ImGuizmo.h ${EXTERNAL_DIR}/ImGuizmo/ImGuizmo.cpp - # ${RESOURCE_FILES_LIST} ) target_include_directories (zEngineLib diff --git a/dependencies.cmake b/dependencies.cmake deleted file mode 100644 index 029e0e75..00000000 --- a/dependencies.cmake +++ /dev/null @@ -1,9 +0,0 @@ -# Libraries -# - -# zEngineLib -get_target_property(ZENGINE_INTERFACE_INCLUDE_DIRS zEngineLib INTERFACE_INCLUDE_DIRECTORIES) - -add_library (imported::zEngineLib INTERFACE IMPORTED) -set_target_properties(imported::zEngineLib PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${ZENGINE_INTERFACE_INCLUDE_DIRS}") -target_link_libraries(imported::zEngineLib INTERFACE zEngineLib) \ No newline at end of file From 3671fed0195b95ada0ce0e43312f5f7d0c82524c Mon Sep 17 00:00:00 2001 From: Jean Philippe Date: Wed, 16 Oct 2024 23:57:32 +0100 Subject: [PATCH 3/7] restructured editor --- Tetragrama/CMakeLists.txt | 46 ++++++++++++++++++- .../{src => }/Components/AboutUIComponent.h | 0 .../{src => }/Components/DemoUIComponent.h | 0 .../Components/DockspaceUIComponent.cpp | 0 .../Components/DockspaceUIComponent.h | 0 .../Events/SceneTextureAvailableEvent.h | 0 .../Events/SceneViewportFocusedEvent.h | 0 .../Events/SceneViewportResizedEvent.h | 0 .../Events/SceneViewportUnfocusedEvent.h | 0 .../Components/HierarchyViewUIComponent.cpp | 0 .../Components/HierarchyViewUIComponent.h | 0 .../Components/InspectorViewUIComponent.cpp | 0 .../Components/InspectorViewUIComponent.h | 0 .../{src => }/Components/LogUIComponent.cpp | 0 .../{src => }/Components/LogUIComponent.h | 0 .../Components/ProjectViewUIComponent.cpp | 0 .../Components/ProjectViewUIComponent.h | 0 .../Components/SceneViewportUIComponent.cpp | 0 .../Components/SceneViewportUIComponent.h | 0 Tetragrama/{src => }/Editor.cpp | 0 Tetragrama/{src => }/Editor.h | 0 .../{src => }/EditorCameraController.cpp | 0 Tetragrama/{src => }/EditorCameraController.h | 0 Tetragrama/{src => }/EntryPoint.cpp | 0 .../Helpers/UIComponentDrawerHelper.cpp | 0 .../Helpers/UIComponentDrawerHelper.h | 0 Tetragrama/{src => }/Helpers/UIDispatcher.h | 0 .../{src => }/Helpers/WindowsHelper.cpp | 0 Tetragrama/{src => }/Helpers/WindowsHelper.h | 0 .../{src => }/Importers/AssetImporter.cpp | 0 .../{src => }/Importers/AssimpImporter.cpp | 0 .../{src => }/Importers/AssimpImporter.h | 0 .../{src => }/Importers/IAssetImporter.h | 0 Tetragrama/{src => }/Layers/RenderLayer.cpp | 0 Tetragrama/{src => }/Layers/RenderLayer.h | 0 Tetragrama/{src => }/Layers/UILayer.cpp | 0 Tetragrama/{src => }/Layers/UILayer.h | 0 Tetragrama/{src => }/MessageToken.h | 0 Tetragrama/{src => }/Messengers/Message.h | 0 Tetragrama/{src => }/Messengers/Messenger.h | 0 .../Serializers/EditorSceneSerializer.cpp | 0 .../Serializers/EditorSceneSerializer.h | 0 Tetragrama/{src => }/Serializers/Serializer.h | 0 Tetragrama/{src => }/pch.cpp | 0 Tetragrama/{src => }/pch.h | 0 Tetragrama/src/CMakeLists.txt | 46 ------------------- 46 files changed, 45 insertions(+), 47 deletions(-) rename Tetragrama/{src => }/Components/AboutUIComponent.h (100%) rename Tetragrama/{src => }/Components/DemoUIComponent.h (100%) rename Tetragrama/{src => }/Components/DockspaceUIComponent.cpp (100%) rename Tetragrama/{src => }/Components/DockspaceUIComponent.h (100%) rename Tetragrama/{src => }/Components/Events/SceneTextureAvailableEvent.h (100%) rename Tetragrama/{src => }/Components/Events/SceneViewportFocusedEvent.h (100%) rename Tetragrama/{src => }/Components/Events/SceneViewportResizedEvent.h (100%) rename Tetragrama/{src => }/Components/Events/SceneViewportUnfocusedEvent.h (100%) rename Tetragrama/{src => }/Components/HierarchyViewUIComponent.cpp (100%) rename Tetragrama/{src => }/Components/HierarchyViewUIComponent.h (100%) rename Tetragrama/{src => }/Components/InspectorViewUIComponent.cpp (100%) rename Tetragrama/{src => }/Components/InspectorViewUIComponent.h (100%) rename Tetragrama/{src => }/Components/LogUIComponent.cpp (100%) rename Tetragrama/{src => }/Components/LogUIComponent.h (100%) rename Tetragrama/{src => }/Components/ProjectViewUIComponent.cpp (100%) rename Tetragrama/{src => }/Components/ProjectViewUIComponent.h (100%) rename Tetragrama/{src => }/Components/SceneViewportUIComponent.cpp (100%) rename Tetragrama/{src => }/Components/SceneViewportUIComponent.h (100%) rename Tetragrama/{src => }/Editor.cpp (100%) rename Tetragrama/{src => }/Editor.h (100%) rename Tetragrama/{src => }/EditorCameraController.cpp (100%) rename Tetragrama/{src => }/EditorCameraController.h (100%) rename Tetragrama/{src => }/EntryPoint.cpp (100%) rename Tetragrama/{src => }/Helpers/UIComponentDrawerHelper.cpp (100%) rename Tetragrama/{src => }/Helpers/UIComponentDrawerHelper.h (100%) rename Tetragrama/{src => }/Helpers/UIDispatcher.h (100%) rename Tetragrama/{src => }/Helpers/WindowsHelper.cpp (100%) rename Tetragrama/{src => }/Helpers/WindowsHelper.h (100%) rename Tetragrama/{src => }/Importers/AssetImporter.cpp (100%) rename Tetragrama/{src => }/Importers/AssimpImporter.cpp (100%) rename Tetragrama/{src => }/Importers/AssimpImporter.h (100%) rename Tetragrama/{src => }/Importers/IAssetImporter.h (100%) rename Tetragrama/{src => }/Layers/RenderLayer.cpp (100%) rename Tetragrama/{src => }/Layers/RenderLayer.h (100%) rename Tetragrama/{src => }/Layers/UILayer.cpp (100%) rename Tetragrama/{src => }/Layers/UILayer.h (100%) rename Tetragrama/{src => }/MessageToken.h (100%) rename Tetragrama/{src => }/Messengers/Message.h (100%) rename Tetragrama/{src => }/Messengers/Messenger.h (100%) rename Tetragrama/{src => }/Serializers/EditorSceneSerializer.cpp (100%) rename Tetragrama/{src => }/Serializers/EditorSceneSerializer.h (100%) rename Tetragrama/{src => }/Serializers/Serializer.h (100%) rename Tetragrama/{src => }/pch.cpp (100%) rename Tetragrama/{src => }/pch.h (100%) delete mode 100644 Tetragrama/src/CMakeLists.txt diff --git a/Tetragrama/CMakeLists.txt b/Tetragrama/CMakeLists.txt index 675d6f9d..20bcc8ac 100644 --- a/Tetragrama/CMakeLists.txt +++ b/Tetragrama/CMakeLists.txt @@ -9,4 +9,48 @@ project (Tetragrama set (CMAKE_CXX_STANDARD_REQUIRED ON) set (CMAKE_CXX_STANDARD 20) -add_subdirectory (src) \ No newline at end of file +file (GLOB_RECURSE HEADER_FILES CONFIGURE_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/*.h) +file (GLOB_RECURSE CPP_FILES CONFIGURE_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp) + +source_group (TREE ${PROJECT_SOURCE_DIR} PREFIX "Source Files" FILES ${HEADER_FILES} ${CPP_FILES}) + +set (TARGET_NAME tetragrama) + +if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows") + add_executable (${TARGET_NAME} WIN32) +else() + add_executable (${TARGET_NAME}) +endif() + +target_sources(${TARGET_NAME} PUBLIC ${HEADER_FILES} ${CPP_FILES}) + +# We set this debugger directory to find assets and resources file +# after being copied to Debug and Release output directories +# +if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") + set_target_properties(${TARGET_NAME} PROPERTIES VS_DEBUGGER_WORKING_DIRECTORY "$(ProjectDir)$(Configuration)") +endif () + +target_include_directories (${TARGET_NAME} + PRIVATE + . + ./Components + ./Layers + ./Messengers + ./Helpers + ./Importers + ./Serializers + ${ENLISTMENT_ROOT}/ZEngine +) + +target_precompile_headers(${TARGET_NAME} PRIVATE pch.h) +target_compile_definitions(${TARGET_NAME} + PRIVATE + NOMINMAX + UNICODE + _UNICODE +) + +target_link_libraries(${TARGET_NAME} PRIVATE zEngineLib) + +set_target_properties(${TARGET_NAME} PROPERTIES OUTPUT_NAME "zEngineEditor") \ No newline at end of file diff --git a/Tetragrama/src/Components/AboutUIComponent.h b/Tetragrama/Components/AboutUIComponent.h similarity index 100% rename from Tetragrama/src/Components/AboutUIComponent.h rename to Tetragrama/Components/AboutUIComponent.h diff --git a/Tetragrama/src/Components/DemoUIComponent.h b/Tetragrama/Components/DemoUIComponent.h similarity index 100% rename from Tetragrama/src/Components/DemoUIComponent.h rename to Tetragrama/Components/DemoUIComponent.h diff --git a/Tetragrama/src/Components/DockspaceUIComponent.cpp b/Tetragrama/Components/DockspaceUIComponent.cpp similarity index 100% rename from Tetragrama/src/Components/DockspaceUIComponent.cpp rename to Tetragrama/Components/DockspaceUIComponent.cpp diff --git a/Tetragrama/src/Components/DockspaceUIComponent.h b/Tetragrama/Components/DockspaceUIComponent.h similarity index 100% rename from Tetragrama/src/Components/DockspaceUIComponent.h rename to Tetragrama/Components/DockspaceUIComponent.h diff --git a/Tetragrama/src/Components/Events/SceneTextureAvailableEvent.h b/Tetragrama/Components/Events/SceneTextureAvailableEvent.h similarity index 100% rename from Tetragrama/src/Components/Events/SceneTextureAvailableEvent.h rename to Tetragrama/Components/Events/SceneTextureAvailableEvent.h diff --git a/Tetragrama/src/Components/Events/SceneViewportFocusedEvent.h b/Tetragrama/Components/Events/SceneViewportFocusedEvent.h similarity index 100% rename from Tetragrama/src/Components/Events/SceneViewportFocusedEvent.h rename to Tetragrama/Components/Events/SceneViewportFocusedEvent.h diff --git a/Tetragrama/src/Components/Events/SceneViewportResizedEvent.h b/Tetragrama/Components/Events/SceneViewportResizedEvent.h similarity index 100% rename from Tetragrama/src/Components/Events/SceneViewportResizedEvent.h rename to Tetragrama/Components/Events/SceneViewportResizedEvent.h diff --git a/Tetragrama/src/Components/Events/SceneViewportUnfocusedEvent.h b/Tetragrama/Components/Events/SceneViewportUnfocusedEvent.h similarity index 100% rename from Tetragrama/src/Components/Events/SceneViewportUnfocusedEvent.h rename to Tetragrama/Components/Events/SceneViewportUnfocusedEvent.h diff --git a/Tetragrama/src/Components/HierarchyViewUIComponent.cpp b/Tetragrama/Components/HierarchyViewUIComponent.cpp similarity index 100% rename from Tetragrama/src/Components/HierarchyViewUIComponent.cpp rename to Tetragrama/Components/HierarchyViewUIComponent.cpp diff --git a/Tetragrama/src/Components/HierarchyViewUIComponent.h b/Tetragrama/Components/HierarchyViewUIComponent.h similarity index 100% rename from Tetragrama/src/Components/HierarchyViewUIComponent.h rename to Tetragrama/Components/HierarchyViewUIComponent.h diff --git a/Tetragrama/src/Components/InspectorViewUIComponent.cpp b/Tetragrama/Components/InspectorViewUIComponent.cpp similarity index 100% rename from Tetragrama/src/Components/InspectorViewUIComponent.cpp rename to Tetragrama/Components/InspectorViewUIComponent.cpp diff --git a/Tetragrama/src/Components/InspectorViewUIComponent.h b/Tetragrama/Components/InspectorViewUIComponent.h similarity index 100% rename from Tetragrama/src/Components/InspectorViewUIComponent.h rename to Tetragrama/Components/InspectorViewUIComponent.h diff --git a/Tetragrama/src/Components/LogUIComponent.cpp b/Tetragrama/Components/LogUIComponent.cpp similarity index 100% rename from Tetragrama/src/Components/LogUIComponent.cpp rename to Tetragrama/Components/LogUIComponent.cpp diff --git a/Tetragrama/src/Components/LogUIComponent.h b/Tetragrama/Components/LogUIComponent.h similarity index 100% rename from Tetragrama/src/Components/LogUIComponent.h rename to Tetragrama/Components/LogUIComponent.h diff --git a/Tetragrama/src/Components/ProjectViewUIComponent.cpp b/Tetragrama/Components/ProjectViewUIComponent.cpp similarity index 100% rename from Tetragrama/src/Components/ProjectViewUIComponent.cpp rename to Tetragrama/Components/ProjectViewUIComponent.cpp diff --git a/Tetragrama/src/Components/ProjectViewUIComponent.h b/Tetragrama/Components/ProjectViewUIComponent.h similarity index 100% rename from Tetragrama/src/Components/ProjectViewUIComponent.h rename to Tetragrama/Components/ProjectViewUIComponent.h diff --git a/Tetragrama/src/Components/SceneViewportUIComponent.cpp b/Tetragrama/Components/SceneViewportUIComponent.cpp similarity index 100% rename from Tetragrama/src/Components/SceneViewportUIComponent.cpp rename to Tetragrama/Components/SceneViewportUIComponent.cpp diff --git a/Tetragrama/src/Components/SceneViewportUIComponent.h b/Tetragrama/Components/SceneViewportUIComponent.h similarity index 100% rename from Tetragrama/src/Components/SceneViewportUIComponent.h rename to Tetragrama/Components/SceneViewportUIComponent.h diff --git a/Tetragrama/src/Editor.cpp b/Tetragrama/Editor.cpp similarity index 100% rename from Tetragrama/src/Editor.cpp rename to Tetragrama/Editor.cpp diff --git a/Tetragrama/src/Editor.h b/Tetragrama/Editor.h similarity index 100% rename from Tetragrama/src/Editor.h rename to Tetragrama/Editor.h diff --git a/Tetragrama/src/EditorCameraController.cpp b/Tetragrama/EditorCameraController.cpp similarity index 100% rename from Tetragrama/src/EditorCameraController.cpp rename to Tetragrama/EditorCameraController.cpp diff --git a/Tetragrama/src/EditorCameraController.h b/Tetragrama/EditorCameraController.h similarity index 100% rename from Tetragrama/src/EditorCameraController.h rename to Tetragrama/EditorCameraController.h diff --git a/Tetragrama/src/EntryPoint.cpp b/Tetragrama/EntryPoint.cpp similarity index 100% rename from Tetragrama/src/EntryPoint.cpp rename to Tetragrama/EntryPoint.cpp diff --git a/Tetragrama/src/Helpers/UIComponentDrawerHelper.cpp b/Tetragrama/Helpers/UIComponentDrawerHelper.cpp similarity index 100% rename from Tetragrama/src/Helpers/UIComponentDrawerHelper.cpp rename to Tetragrama/Helpers/UIComponentDrawerHelper.cpp diff --git a/Tetragrama/src/Helpers/UIComponentDrawerHelper.h b/Tetragrama/Helpers/UIComponentDrawerHelper.h similarity index 100% rename from Tetragrama/src/Helpers/UIComponentDrawerHelper.h rename to Tetragrama/Helpers/UIComponentDrawerHelper.h diff --git a/Tetragrama/src/Helpers/UIDispatcher.h b/Tetragrama/Helpers/UIDispatcher.h similarity index 100% rename from Tetragrama/src/Helpers/UIDispatcher.h rename to Tetragrama/Helpers/UIDispatcher.h diff --git a/Tetragrama/src/Helpers/WindowsHelper.cpp b/Tetragrama/Helpers/WindowsHelper.cpp similarity index 100% rename from Tetragrama/src/Helpers/WindowsHelper.cpp rename to Tetragrama/Helpers/WindowsHelper.cpp diff --git a/Tetragrama/src/Helpers/WindowsHelper.h b/Tetragrama/Helpers/WindowsHelper.h similarity index 100% rename from Tetragrama/src/Helpers/WindowsHelper.h rename to Tetragrama/Helpers/WindowsHelper.h diff --git a/Tetragrama/src/Importers/AssetImporter.cpp b/Tetragrama/Importers/AssetImporter.cpp similarity index 100% rename from Tetragrama/src/Importers/AssetImporter.cpp rename to Tetragrama/Importers/AssetImporter.cpp diff --git a/Tetragrama/src/Importers/AssimpImporter.cpp b/Tetragrama/Importers/AssimpImporter.cpp similarity index 100% rename from Tetragrama/src/Importers/AssimpImporter.cpp rename to Tetragrama/Importers/AssimpImporter.cpp diff --git a/Tetragrama/src/Importers/AssimpImporter.h b/Tetragrama/Importers/AssimpImporter.h similarity index 100% rename from Tetragrama/src/Importers/AssimpImporter.h rename to Tetragrama/Importers/AssimpImporter.h diff --git a/Tetragrama/src/Importers/IAssetImporter.h b/Tetragrama/Importers/IAssetImporter.h similarity index 100% rename from Tetragrama/src/Importers/IAssetImporter.h rename to Tetragrama/Importers/IAssetImporter.h diff --git a/Tetragrama/src/Layers/RenderLayer.cpp b/Tetragrama/Layers/RenderLayer.cpp similarity index 100% rename from Tetragrama/src/Layers/RenderLayer.cpp rename to Tetragrama/Layers/RenderLayer.cpp diff --git a/Tetragrama/src/Layers/RenderLayer.h b/Tetragrama/Layers/RenderLayer.h similarity index 100% rename from Tetragrama/src/Layers/RenderLayer.h rename to Tetragrama/Layers/RenderLayer.h diff --git a/Tetragrama/src/Layers/UILayer.cpp b/Tetragrama/Layers/UILayer.cpp similarity index 100% rename from Tetragrama/src/Layers/UILayer.cpp rename to Tetragrama/Layers/UILayer.cpp diff --git a/Tetragrama/src/Layers/UILayer.h b/Tetragrama/Layers/UILayer.h similarity index 100% rename from Tetragrama/src/Layers/UILayer.h rename to Tetragrama/Layers/UILayer.h diff --git a/Tetragrama/src/MessageToken.h b/Tetragrama/MessageToken.h similarity index 100% rename from Tetragrama/src/MessageToken.h rename to Tetragrama/MessageToken.h diff --git a/Tetragrama/src/Messengers/Message.h b/Tetragrama/Messengers/Message.h similarity index 100% rename from Tetragrama/src/Messengers/Message.h rename to Tetragrama/Messengers/Message.h diff --git a/Tetragrama/src/Messengers/Messenger.h b/Tetragrama/Messengers/Messenger.h similarity index 100% rename from Tetragrama/src/Messengers/Messenger.h rename to Tetragrama/Messengers/Messenger.h diff --git a/Tetragrama/src/Serializers/EditorSceneSerializer.cpp b/Tetragrama/Serializers/EditorSceneSerializer.cpp similarity index 100% rename from Tetragrama/src/Serializers/EditorSceneSerializer.cpp rename to Tetragrama/Serializers/EditorSceneSerializer.cpp diff --git a/Tetragrama/src/Serializers/EditorSceneSerializer.h b/Tetragrama/Serializers/EditorSceneSerializer.h similarity index 100% rename from Tetragrama/src/Serializers/EditorSceneSerializer.h rename to Tetragrama/Serializers/EditorSceneSerializer.h diff --git a/Tetragrama/src/Serializers/Serializer.h b/Tetragrama/Serializers/Serializer.h similarity index 100% rename from Tetragrama/src/Serializers/Serializer.h rename to Tetragrama/Serializers/Serializer.h diff --git a/Tetragrama/src/pch.cpp b/Tetragrama/pch.cpp similarity index 100% rename from Tetragrama/src/pch.cpp rename to Tetragrama/pch.cpp diff --git a/Tetragrama/src/pch.h b/Tetragrama/pch.h similarity index 100% rename from Tetragrama/src/pch.h rename to Tetragrama/pch.h diff --git a/Tetragrama/src/CMakeLists.txt b/Tetragrama/src/CMakeLists.txt deleted file mode 100644 index 83357956..00000000 --- a/Tetragrama/src/CMakeLists.txt +++ /dev/null @@ -1,46 +0,0 @@ -file (GLOB_RECURSE HEADER_FILES CONFIGURE_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/*.h) -file (GLOB_RECURSE CPP_FILES CONFIGURE_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp) - -source_group (TREE ${PROJECT_SOURCE_DIR}/src PREFIX "Header Files" FILES ${HEADER_FILES}) -source_group (TREE ${PROJECT_SOURCE_DIR}/src PREFIX "Source Files" FILES ${CPP_FILES}) - -set (TARGET_NAME tetragrama) - -if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows") - add_executable (${TARGET_NAME} WIN32) -else() - add_executable (${TARGET_NAME}) -endif() - -target_sources(${TARGET_NAME} PUBLIC ${HEADER_FILES} ${CPP_FILES}) - -# We set this debugger directory to find assets and resources file -# after being copied to Debug and Release output directories -# -if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") - set_target_properties(${TARGET_NAME} PROPERTIES VS_DEBUGGER_WORKING_DIRECTORY "$(ProjectDir)$(Configuration)") -endif () - -target_include_directories (${TARGET_NAME} - PRIVATE - ${PROJECT_SOURCE_DIR}/src - ${CMAKE_CURRENT_SOURCE_DIR}/Components - ${CMAKE_CURRENT_SOURCE_DIR}/Layers - ${CMAKE_CURRENT_SOURCE_DIR}/Messengers - ${CMAKE_CURRENT_SOURCE_DIR}/Helpers - ${CMAKE_CURRENT_SOURCE_DIR}/Importers - ${CMAKE_CURRENT_SOURCE_DIR}/Serializers - ${ENLISTMENT_ROOT}/ZEngine -) - -target_precompile_headers(${TARGET_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/pch.h) -target_compile_definitions(${TARGET_NAME} - PRIVATE - NOMINMAX - UNICODE - _UNICODE -) - -target_link_libraries(${TARGET_NAME} PRIVATE zEngineLib) - -set_target_properties(${TARGET_NAME} PROPERTIES OUTPUT_NAME "zEngineEditor") \ No newline at end of file From 78b3b8df7726146e14177672789e319d323b4eaa Mon Sep 17 00:00:00 2001 From: Jean Philippe Date: Thu, 17 Oct 2024 00:51:47 +0100 Subject: [PATCH 4/7] fixed post build script --- Scripts/PostBuild.ps1 | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/Scripts/PostBuild.ps1 b/Scripts/PostBuild.ps1 index dc843a8a..884d047a 100644 --- a/Scripts/PostBuild.ps1 +++ b/Scripts/PostBuild.ps1 @@ -60,16 +60,16 @@ $ContentsToProcess = @( Contents = @( switch ($SystemName) { "Windows" { - @{ From = "$RepoRoot\Resources\Shaders"; To = "$OuputBuildDirectory\Tetragrama\src\$Configurations\Shaders"} - @{ From = "$RepoRoot\Resources\Editor\Settings"; To = "$OuputBuildDirectory\Tetragrama\src\$Configurations\Settings"} + @{ From = "$RepoRoot\Resources\Shaders"; To = "$OuputBuildDirectory\Tetragrama\$Configurations\Shaders"} + @{ From = "$RepoRoot\Resources\Editor\Settings"; To = "$OuputBuildDirectory\Tetragrama\$Configurations\Settings"} } "Darwin" { - @{ From = "$RepoRoot\Resources\Shaders"; To = "$OuputBuildDirectory\Tetragrama\src\$Configurations\Shaders"} - @{ From = "$RepoRoot\Resources\Editor\Settings"; To = "$OuputBuildDirectory\Tetragrama\src\$Configurations\Settings"} + @{ From = "$RepoRoot\Resources\Shaders"; To = "$OuputBuildDirectory\Tetragrama\$Configurations\Shaders"} + @{ From = "$RepoRoot\Resources\Editor\Settings"; To = "$OuputBuildDirectory\Tetragrama\$Configurations\Settings"} } "Linux" { - @{ From = "$RepoRoot\Resources\Shaders"; To = "$OuputBuildDirectory\Tetragrama\src\Shaders"} - @{ From = "$RepoRoot\Resources\Editor\Settings"; To = "$OuputBuildDirectory\Tetragrama\src\Settings"} + @{ From = "$RepoRoot\Resources\Shaders"; To = "$OuputBuildDirectory\Tetragrama\Shaders"} + @{ From = "$RepoRoot\Resources\Editor\Settings"; To = "$OuputBuildDirectory\Tetragrama\Settings"} } Default { throw 'This system is not supported' @@ -83,18 +83,18 @@ $ContentsToProcess = @( Contents = @( switch ($SystemName) { "Windows" { - @{ From = "$OuputBuildDirectory\Tetragrama\src\$Configurations"; To = "$OuputBuildDirectory\Panzerfaust\$Configurations\net6.0\Editor"} - @{ From = "$OuputBuildDirectory\Tetragrama\src\$Configurations"; To = "$OuputBuildDirectory\Panzerfaust\$Configurations\net6.0\$Architectures\publish\Editor"} + @{ From = "$OuputBuildDirectory\Tetragrama\$Configurations"; To = "$OuputBuildDirectory\Panzerfaust\$Configurations\net6.0\Editor"} + @{ From = "$OuputBuildDirectory\Tetragrama\$Configurations"; To = "$OuputBuildDirectory\Panzerfaust\$Configurations\net6.0\$Architectures\publish\Editor"} } "Darwin" { switch ($Architectures) { "osx-x64" { - @{ From = "$OuputBuildDirectory\Tetragrama\src\$Configurations"; To = "$OuputBuildDirectory\Panzerfaust\$Configurations\net6.0\$Architectures\Editor"} - @{ From = "$OuputBuildDirectory\Tetragrama\src\$Configurations"; To = "$OuputBuildDirectory\Panzerfaust\$Configurations\net6.0\$Architectures\publish\Editor"} + @{ From = "$OuputBuildDirectory\Tetragrama\$Configurations"; To = "$OuputBuildDirectory\Panzerfaust\$Configurations\net6.0\$Architectures\Editor"} + @{ From = "$OuputBuildDirectory\Tetragrama\$Configurations"; To = "$OuputBuildDirectory\Panzerfaust\$Configurations\net6.0\$Architectures\publish\Editor"} } "osx-arm64" { - @{ From = "$OuputBuildDirectory\Tetragrama\src\$Configurations"; To = "$OuputBuildDirectory\Panzerfaust\$Configurations\net6.0\$Architectures\Editor"} - @{ From = "$OuputBuildDirectory\Tetragrama\src\$Configurations"; To = "$OuputBuildDirectory\Panzerfaust\$Configurations\net6.0\$Architectures\publish\Editor"} + @{ From = "$OuputBuildDirectory\Tetragrama\$Configurations"; To = "$OuputBuildDirectory\Panzerfaust\$Configurations\net6.0\$Architectures\Editor"} + @{ From = "$OuputBuildDirectory\Tetragrama\$Configurations"; To = "$OuputBuildDirectory\Panzerfaust\$Configurations\net6.0\$Architectures\publish\Editor"} } Default { throw 'This architecture is not supported' @@ -102,7 +102,7 @@ $ContentsToProcess = @( } } "Linux" { - @{ From = "$OuputBuildDirectory\Tetragrama\src\$Configurations"; To = "$OuputBuildDirectory\Panzerfaust\$Configurations\net6.0\Editor"} + @{ From = "$OuputBuildDirectory\Tetragrama\$Configurations"; To = "$OuputBuildDirectory\Panzerfaust\$Configurations\net6.0\Editor"} } Default { throw 'This system is not supported' From 0465c8bd2ae4f6f453998a8b951306c658389f15 Mon Sep 17 00:00:00 2001 From: Jean Philippe Date: Thu, 17 Oct 2024 18:41:28 +0100 Subject: [PATCH 5/7] moved glfw funcs out of vulkan device --- ZEngine/ZEngine/Engine.cpp | 8 +- ZEngine/ZEngine/Engine.h | 2 - ZEngine/ZEngine/EntryPoint.h | 16 ---- ZEngine/ZEngine/Hardwares/VulkanDevice.cpp | 9 +-- ZEngine/ZEngine/Hardwares/VulkanDevice.h | 3 +- ZEngine/ZEngine/Rendering/Swapchain.cpp | 80 ++++--------------- ZEngine/ZEngine/Rendering/Swapchain.h | 7 +- ZEngine/ZEngine/Window/CoreWindow.h | 18 ++--- .../Window/GlfwWindow/VulkanWindow.cpp | 27 ++++++- .../ZEngine/Window/GlfwWindow/VulkanWindow.h | 4 +- 10 files changed, 59 insertions(+), 115 deletions(-) delete mode 100644 ZEngine/ZEngine/EntryPoint.h diff --git a/ZEngine/ZEngine/Engine.cpp b/ZEngine/ZEngine/Engine.cpp index 869f3d56..e033c69c 100644 --- a/ZEngine/ZEngine/Engine.cpp +++ b/ZEngine/ZEngine/Engine.cpp @@ -19,13 +19,7 @@ namespace ZEngine m_window.reset(ZEngine::Window::Create(engine_configuration.WindowConfiguration)); - const char** glfw_extensions_layer_name_collection; - uint32_t glfw_extensions_layer_name_count = 0; - glfw_extensions_layer_name_collection = glfwGetRequiredInstanceExtensions(&glfw_extensions_layer_name_count); - std::vector window_additional_extension_layer_name_collection( - glfw_extensions_layer_name_collection, glfw_extensions_layer_name_collection + glfw_extensions_layer_name_count); - - Hardwares::VulkanDevice::Initialize(m_window, window_additional_extension_layer_name_collection); + Hardwares::VulkanDevice::Initialize(m_window); m_window->Initialize(); GraphicRenderer::SetMainSwapchain(m_window->GetSwapchain()); diff --git a/ZEngine/ZEngine/Engine.h b/ZEngine/ZEngine/Engine.h index 11ed75c7..37814830 100644 --- a/ZEngine/ZEngine/Engine.h +++ b/ZEngine/ZEngine/Engine.h @@ -44,6 +44,4 @@ namespace ZEngine static Core::TimeStep m_delta_time; static Ref m_window; }; - - Engine* CreateEngine(const EngineConfiguration&); } // namespace ZEngine diff --git a/ZEngine/ZEngine/EntryPoint.h b/ZEngine/ZEngine/EntryPoint.h deleted file mode 100644 index 2e9cb0ee..00000000 --- a/ZEngine/ZEngine/EntryPoint.h +++ /dev/null @@ -1,16 +0,0 @@ -#pragma once -#include -#include "Engine.h" - -#ifdef ZENGINE_PLATFORM - -int main(int argc, char* argv[]) -{ - - std::unique_ptr engine{ZEngine::CreateEngine()}; - engine->Initialize(); - engine->Start(); - - return 0; -} -#endif diff --git a/ZEngine/ZEngine/Hardwares/VulkanDevice.cpp b/ZEngine/ZEngine/Hardwares/VulkanDevice.cpp index c3b14115..08c7f695 100644 --- a/ZEngine/ZEngine/Hardwares/VulkanDevice.cpp +++ b/ZEngine/ZEngine/Hardwares/VulkanDevice.cpp @@ -53,7 +53,7 @@ namespace ZEngine::Hardwares std::map>> VulkanDevice::s_queue_submit_info_pool = {}; std::deque VulkanDevice::s_dirty_resource_collection = {}; - void VulkanDevice::Initialize(const Ref& window, const std::vector& additional_extension_layer_name_collection) + void VulkanDevice::Initialize(const Ref& window) { /*Create Vulkan Instance*/ VkApplicationInfo app_info = {}; @@ -121,11 +121,12 @@ namespace ZEngine::Hardwares } } + auto additional_extension_layer_name_collection = window->GetRequiredExtensionLayers(); if (!additional_extension_layer_name_collection.empty()) { for (const auto& extension : additional_extension_layer_name_collection) { - enabled_extension_layer_name_collection.push_back(extension); + enabled_extension_layer_name_collection.push_back(extension.c_str()); } } @@ -165,9 +166,7 @@ namespace ZEngine::Hardwares __createDebugMessengerPtr(s_vulkan_instance, &messenger_create_info, nullptr, &s_debug_messenger); } - ZENGINE_VALIDATE_ASSERT( - glfwCreateWindowSurface(s_vulkan_instance, reinterpret_cast(window->GetNativeWindow()), nullptr, &s_surface) == VK_SUCCESS, - "Failed Window Surface from GLFW") + ZENGINE_VALIDATE_ASSERT(window->CreateSurface(s_vulkan_instance, reinterpret_cast(&s_surface)), "Failed Window Surface from GLFW") /*Create Vulkan Device*/ ZENGINE_VALIDATE_ASSERT(s_vulkan_instance != VK_NULL_HANDLE, "A Vulkan Instance must be created first!") diff --git a/ZEngine/ZEngine/Hardwares/VulkanDevice.h b/ZEngine/ZEngine/Hardwares/VulkanDevice.h index b38cd890..37dbf7aa 100644 --- a/ZEngine/ZEngine/Hardwares/VulkanDevice.h +++ b/ZEngine/ZEngine/Hardwares/VulkanDevice.h @@ -5,7 +5,6 @@ /* * ^^^^ Headers above are not candidates for sorting by clang-format ^^^^^ */ -#include #include #include #include @@ -82,7 +81,7 @@ namespace ZEngine::Hardwares VulkanDevice(const VulkanDevice&) = delete; ~VulkanDevice() = delete; - static void Initialize(const Ref& window, const std::vector& additional_extension_layer_name_collection); + static void Initialize(const Ref& window); static void Deinitialize(); static void Dispose(); diff --git a/ZEngine/ZEngine/Rendering/Swapchain.cpp b/ZEngine/ZEngine/Rendering/Swapchain.cpp index 78af78f6..42ad8e9f 100644 --- a/ZEngine/ZEngine/Rendering/Swapchain.cpp +++ b/ZEngine/ZEngine/Rendering/Swapchain.cpp @@ -9,16 +9,13 @@ using namespace ZEngine::Rendering::Specifications; namespace ZEngine::Rendering { - Swapchain::Swapchain(void* native_window, bool is_surface_from_device) + Swapchain::Swapchain() { std::random_device rd; std::mt19937 gen(rd()); std::uniform_int_distribution dis(std::numeric_limits::min(), std::numeric_limits::max()); m_identifier = dis(gen); - m_is_surface_from_device = is_surface_from_device; - m_native_window = native_window; - /* Create Attachment */ Specifications::AttachmentSpecification attachment_specification = {}; attachment_specification.BindPoint = PipelineBindPoint::GRAPHIC; @@ -56,13 +53,6 @@ namespace ZEngine::Rendering m_frame_signal_fence_collection.clear(); m_frame_signal_fence_collection.shrink_to_fit(); - - if (!m_is_surface_from_device) - { - auto instance = Hardwares::VulkanDevice::GetNativeInstanceHandle(); - ZENGINE_DESTROY_VULKAN_HANDLE(instance, vkDestroySurfaceKHR, m_surface, nullptr) - } - m_native_window = nullptr; // we are not responsible of the cleanup } void Swapchain::Resize() @@ -155,71 +145,29 @@ namespace ZEngine::Rendering { auto native_device = Hardwares::VulkanDevice::GetNativeDeviceHandle(); auto physical_device = Hardwares::VulkanDevice::GetNativePhysicalDeviceHandle(); - - if (m_surface == VK_NULL_HANDLE) - { - if (m_is_surface_from_device) - { - m_surface = Hardwares::VulkanDevice::GetSurface(); - m_surface_format = Hardwares::VulkanDevice::GetSurfaceFormat(); - } - else - { - auto instance = Hardwares::VulkanDevice::GetNativeInstanceHandle(); - ZENGINE_VALIDATE_ASSERT( - glfwCreateWindowSurface(instance, reinterpret_cast(m_native_window), nullptr, &m_surface) == VK_SUCCESS, "Failed Window Surface from GLFW"); - - uint32_t format_count = 0; - std::vector surface_format_collection = {}; - vkGetPhysicalDeviceSurfaceFormatsKHR(physical_device, m_surface, &format_count, nullptr); - if (format_count != 0) - { - surface_format_collection.resize(format_count); - vkGetPhysicalDeviceSurfaceFormatsKHR(physical_device, m_surface, &format_count, surface_format_collection.data()); - } - - m_surface_format = (surface_format_collection.size() > 0) ? surface_format_collection[0] : VkSurfaceFormatKHR{}; - for (const VkSurfaceFormatKHR& format_khr : surface_format_collection) - { - // default is: VK_FORMAT_B8G8R8A8_SRGB - // but Imgui wants : VK_FORMAT_B8G8R8A8_UNORM ... - if ((format_khr.format == VK_FORMAT_B8G8R8A8_UNORM) && (format_khr.colorSpace == VK_COLOR_SPACE_SRGB_NONLINEAR_KHR)) - { - m_surface_format = format_khr; - break; - } - } - } - } + auto surface = Hardwares::VulkanDevice::GetSurface(); + auto surface_format = Hardwares::VulkanDevice::GetSurfaceFormat(); // Surface capabilities - VkExtent2D extent = {}; - vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physical_device, m_surface, &m_capabilities); - if (m_capabilities.currentExtent.width != std::numeric_limits::max()) + VkExtent2D extent = {}; + VkSurfaceCapabilitiesKHR capabilities{}; + vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physical_device, surface, &capabilities); + if (capabilities.currentExtent.width != std::numeric_limits::max()) { - extent = m_capabilities.currentExtent; - } - else - { - int width, height; - glfwGetFramebufferSize(reinterpret_cast(m_native_window), &width, &height); - - extent = {static_cast(width), static_cast(height)}; - extent.width = std::clamp(extent.width, m_capabilities.minImageExtent.width, m_capabilities.maxImageExtent.width); - extent.height = std::clamp(extent.height, m_capabilities.minImageExtent.height, m_capabilities.maxImageExtent.height); + extent = capabilities.currentExtent; } - m_min_image_count = std::clamp(m_min_image_count, m_capabilities.minImageCount + 1, m_capabilities.maxImageCount); + m_min_image_count = std::clamp(m_min_image_count, capabilities.minImageCount + 1, capabilities.maxImageCount); VkSwapchainCreateInfoKHR swapchain_create_info = {}; swapchain_create_info.sType = VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR; - swapchain_create_info.surface = m_surface; + swapchain_create_info.surface = surface; swapchain_create_info.minImageCount = m_min_image_count; - swapchain_create_info.imageFormat = m_surface_format.format; - swapchain_create_info.imageColorSpace = m_surface_format.colorSpace; + swapchain_create_info.imageFormat = surface_format.format; + swapchain_create_info.imageColorSpace = surface_format.colorSpace; swapchain_create_info.imageExtent = extent; swapchain_create_info.imageArrayLayers = 1; - swapchain_create_info.preTransform = m_capabilities.currentTransform; + swapchain_create_info.preTransform = capabilities.currentTransform; swapchain_create_info.presentMode = Hardwares::VulkanDevice::GetPresentMode(); std::set device_family_indices = { @@ -275,7 +223,7 @@ namespace ZEngine::Rendering for (size_t i = 0; i < m_image_view_collection.size(); ++i) { - m_image_view_collection[i] = Hardwares::VulkanDevice::CreateImageView(m_image_collection[i], m_surface_format.format, VK_IMAGE_VIEW_TYPE_2D, VK_IMAGE_ASPECT_COLOR_BIT); + m_image_view_collection[i] = Hardwares::VulkanDevice::CreateImageView(m_image_collection[i], surface_format.format, VK_IMAGE_VIEW_TYPE_2D, VK_IMAGE_ASPECT_COLOR_BIT); } /*Swapchain framebuffer*/ diff --git a/ZEngine/ZEngine/Rendering/Swapchain.h b/ZEngine/ZEngine/Rendering/Swapchain.h index ba6d1893..9c2b9179 100644 --- a/ZEngine/ZEngine/Rendering/Swapchain.h +++ b/ZEngine/ZEngine/Rendering/Swapchain.h @@ -10,7 +10,7 @@ namespace ZEngine::Rendering class Swapchain : public Helpers::RefCounted { public: - Swapchain(void* native_window, bool is_surface_from_device = true); + Swapchain(); ~Swapchain(); void Resize(); @@ -30,10 +30,6 @@ namespace ZEngine::Rendering void Create(); void Dispose(); - void* m_native_window{nullptr}; - VkSurfaceKHR m_surface{VK_NULL_HANDLE}; - VkSurfaceFormatKHR m_surface_format; - bool m_is_surface_from_device; uint32_t m_current_frame_index{0}; uint32_t m_last_frame_image_index{0}; VkSwapchainKHR m_handle{VK_NULL_HANDLE}; @@ -41,7 +37,6 @@ namespace ZEngine::Rendering uint32_t m_image_height{0}; uint32_t m_min_image_count{0}; uint32_t m_image_count{0}; - VkSurfaceCapabilitiesKHR m_capabilities{}; Ref m_attachment; std::vector m_queue_family_index_collection; std::vector m_image_collection; diff --git a/ZEngine/ZEngine/Window/CoreWindow.h b/ZEngine/ZEngine/Window/CoreWindow.h index b75d8fc1..7f7f071f 100644 --- a/ZEngine/ZEngine/Window/CoreWindow.h +++ b/ZEngine/ZEngine/Window/CoreWindow.h @@ -60,15 +60,15 @@ namespace ZEngine::Window virtual void SetTitle(std::string_view title) = 0; virtual bool IsMinimized() const = 0; - virtual bool IsVSyncEnable() const = 0; - virtual void SetVSync(bool value) = 0; - virtual void SetCallbackFunction(const EventCallbackFn& callback) = 0; - - virtual void* GetNativeWindow() const = 0; - - virtual Ref GetSwapchain() const = 0; - - virtual const WindowProperty& GetWindowProperty() const = 0; + virtual bool IsVSyncEnable() const = 0; + virtual void SetVSync(bool value) = 0; + virtual void SetCallbackFunction(const EventCallbackFn& callback) = 0; + virtual const WindowProperty& GetWindowProperty() const = 0; + + virtual bool CreateSurface(void* instance, void** out_window_surface) = 0; + virtual std::vector GetRequiredExtensionLayers() = 0; + virtual void* GetNativeWindow() const = 0; + virtual Ref GetSwapchain() const = 0; virtual void PollEvent() = 0; virtual float GetTime() = 0; diff --git a/ZEngine/ZEngine/Window/GlfwWindow/VulkanWindow.cpp b/ZEngine/ZEngine/Window/GlfwWindow/VulkanWindow.cpp index 8c065dd0..dadbe682 100644 --- a/ZEngine/ZEngine/Window/GlfwWindow/VulkanWindow.cpp +++ b/ZEngine/ZEngine/Window/GlfwWindow/VulkanWindow.cpp @@ -119,7 +119,7 @@ namespace ZEngine::Window::GLFWWindow void VulkanWindow::Initialize() { - m_swapchain = CreateRef(m_native_window); + m_swapchain = CreateRef(); glfwSetWindowUserPointer(m_native_window, &m_property); @@ -345,6 +345,31 @@ namespace ZEngine::Window::GLFWWindow m_swapchain->Present(); } + bool VulkanWindow::CreateSurface(void* instance, void** out_window_surface) + { + if (!instance || !out_window_surface) + { + return false; + } + VkInstance vkInstance = reinterpret_cast(instance); + VkSurfaceKHR* pSurface = reinterpret_cast(out_window_surface); + VkResult result = glfwCreateWindowSurface(vkInstance, m_native_window, nullptr, pSurface); + return (result == VK_SUCCESS); + } + + std::vector VulkanWindow::GetRequiredExtensionLayers() + { + uint32_t count = 0; + const char** extensions_layer_names = glfwGetRequiredInstanceExtensions(&count); + std::vector outputs(count); + + for (unsigned i = 0; i < count; ++i) + { + outputs[i] = extensions_layer_names[i]; + } + return outputs; + } + Ref VulkanWindow::GetSwapchain() const { return m_swapchain; diff --git a/ZEngine/ZEngine/Window/GlfwWindow/VulkanWindow.h b/ZEngine/ZEngine/Window/GlfwWindow/VulkanWindow.h index 490a0006..e946b930 100644 --- a/ZEngine/ZEngine/Window/GlfwWindow/VulkanWindow.h +++ b/ZEngine/ZEngine/Window/GlfwWindow/VulkanWindow.h @@ -32,7 +32,9 @@ namespace ZEngine::Window::GLFWWindow virtual void Update(Core::TimeStep delta_time) override; virtual void Render() override; - Ref GetSwapchain() const override; + virtual bool CreateSurface(void* instance, void** out_window_surface) override; + virtual std::vector GetRequiredExtensionLayers() override; + Ref GetSwapchain() const override; public: bool OnEvent(Event::CoreEvent& event) override; From b324e82dcabf3dea6866dff2268933dfd0e99bb4 Mon Sep 17 00:00:00 2001 From: Jean Philippe Date: Fri, 18 Oct 2024 17:36:02 +0100 Subject: [PATCH 6/7] moved out window impl from engine codebase --- Tetragrama/Editor.cpp | 8 +- Tetragrama/Editor.h | 4 + .../EditorWindow.cpp | 169 ++++++++++-------- Tetragrama/EditorWindow.h | 80 +++++++++ ZEngine/ZEngine/Engine.cpp | 97 ++++------ ZEngine/ZEngine/Engine.h | 38 +--- ZEngine/ZEngine/Layers/ImguiLayer.cpp | 1 - ZEngine/ZEngine/Window/CoreWindow.cpp | 11 -- ZEngine/ZEngine/Window/CoreWindow.h | 12 +- .../ZEngine/Window/GlfwWindow/VulkanWindow.h | 78 -------- 10 files changed, 232 insertions(+), 266 deletions(-) rename ZEngine/ZEngine/Window/GlfwWindow/VulkanWindow.cpp => Tetragrama/EditorWindow.cpp (74%) create mode 100644 Tetragrama/EditorWindow.h delete mode 100644 ZEngine/ZEngine/Window/GlfwWindow/VulkanWindow.h diff --git a/Tetragrama/Editor.cpp b/Tetragrama/Editor.cpp index e144f26a..3abb39be 100644 --- a/Tetragrama/Editor.cpp +++ b/Tetragrama/Editor.cpp @@ -6,6 +6,7 @@ #include using namespace Tetragrama::Messengers; +using namespace ZEngine; namespace Tetragrama { @@ -34,18 +35,21 @@ namespace Tetragrama title = fmt::format("{0} - Active Scene : {1}", title, s_editor_scene->GetName()); } m_engine_configuration.WindowConfiguration = {.EnableVsync = true, .Title = title, .RenderingLayerCollection = {m_render_layer}, .OverlayLayerCollection = {m_ui_layer}}; + + m_window.reset(ZEngine::Window::Create(m_engine_configuration.WindowConfiguration)); } Editor::~Editor() { m_ui_layer.reset(); m_render_layer.reset(); + m_window.reset(); ZEngine::Engine::Dispose(); } void Editor::Initialize() { - ZEngine::Engine::Initialize(m_engine_configuration); + ZEngine::Engine::Initialize(m_engine_configuration, m_window); using PairFloat = std::pair; MESSENGER_REGISTER( @@ -80,7 +84,7 @@ namespace Tetragrama void Editor::Run() { - ZEngine::Engine::Start(); + ZEngine::Engine::Run(); } const EditorConfiguration& Editor::GetCurrentEditorConfiguration() diff --git a/Tetragrama/Editor.h b/Tetragrama/Editor.h index 56b9db09..75952f97 100644 --- a/Tetragrama/Editor.h +++ b/Tetragrama/Editor.h @@ -2,6 +2,7 @@ #include #include #include +#include #include namespace Tetragrama::Serializers @@ -69,6 +70,9 @@ namespace Tetragrama static ZEngine::Ref GetCurrentEditorScene(); static void SetCurrentEditorScene(EditorScene&&); + private: + ZEngine::Ref m_window; + private: static EditorConfiguration s_editor_configuration; static ZEngine::Ref s_editor_scene; diff --git a/ZEngine/ZEngine/Window/GlfwWindow/VulkanWindow.cpp b/Tetragrama/EditorWindow.cpp similarity index 74% rename from ZEngine/ZEngine/Window/GlfwWindow/VulkanWindow.cpp rename to Tetragrama/EditorWindow.cpp index dadbe682..3277dc1d 100644 --- a/ZEngine/ZEngine/Window/GlfwWindow/VulkanWindow.cpp +++ b/Tetragrama/EditorWindow.cpp @@ -1,8 +1,9 @@ #include -#include -#include -#include -#include +#include +#include +#include +#include +#include #ifdef _WIN32 #define GLFW_EXPOSE_NATIVE_WIN32 @@ -11,10 +12,12 @@ using namespace ZEngine; using namespace ZEngine::Event; +using namespace ZEngine::Window; +using namespace ZEngine::Rendering; -namespace ZEngine::Window::GLFWWindow +namespace Tetragrama { - VulkanWindow::VulkanWindow(const WindowConfiguration& configuration) : CoreWindow() + EditorWindow::EditorWindow(const WindowConfiguration& configuration) : CoreWindow() { m_property.Height = configuration.Height; m_property.Width = configuration.Width; @@ -63,33 +66,33 @@ namespace ZEngine::Window::GLFWWindow ZENGINE_CORE_INFO("Window created, Width = {0}, Height = {1}", m_property.Width, m_property.Height) } - uint32_t VulkanWindow::GetWidth() const + uint32_t EditorWindow::GetWidth() const { return m_property.Width; } - std::string_view VulkanWindow::GetTitle() const + std::string_view EditorWindow::GetTitle() const { return m_property.Title; } - bool VulkanWindow::IsMinimized() const + bool EditorWindow::IsMinimized() const { return m_property.IsMinimized; } - void VulkanWindow::SetTitle(std::string_view title) + void EditorWindow::SetTitle(std::string_view title) { m_property.Title = title; glfwSetWindowTitle(m_native_window, m_property.Title.c_str()); } - bool VulkanWindow::IsVSyncEnable() const + bool EditorWindow::IsVSyncEnable() const { return m_property.VSync; } - void VulkanWindow::SetVSync(bool value) + void EditorWindow::SetVSync(bool value) { m_property.VSync = value; if (value) @@ -102,45 +105,45 @@ namespace ZEngine::Window::GLFWWindow } } - void VulkanWindow::SetCallbackFunction(const EventCallbackFn& callback) + void EditorWindow::SetCallbackFunction(const EventCallbackFn& callback) { m_property.CallbackFn = callback; } - void* VulkanWindow::GetNativeWindow() const + void* EditorWindow::GetNativeWindow() const { return reinterpret_cast(m_native_window); } - const WindowProperty& VulkanWindow::GetWindowProperty() const + const WindowProperty& EditorWindow::GetWindowProperty() const { return m_property; } - void VulkanWindow::Initialize() + void EditorWindow::Initialize() { m_swapchain = CreateRef(); glfwSetWindowUserPointer(m_native_window, &m_property); - glfwSetFramebufferSizeCallback(m_native_window, VulkanWindow::__OnGlfwFrameBufferSizeChanged); + glfwSetFramebufferSizeCallback(m_native_window, EditorWindow::__OnGlfwFrameBufferSizeChanged); - glfwSetWindowCloseCallback(m_native_window, VulkanWindow::__OnGlfwWindowClose); - glfwSetWindowSizeCallback(m_native_window, VulkanWindow::__OnGlfwWindowResized); - glfwSetWindowMaximizeCallback(m_native_window, VulkanWindow::__OnGlfwWindowMaximized); - glfwSetWindowIconifyCallback(m_native_window, VulkanWindow::__OnGlfwWindowMinimized); + glfwSetWindowCloseCallback(m_native_window, EditorWindow::__OnGlfwWindowClose); + glfwSetWindowSizeCallback(m_native_window, EditorWindow::__OnGlfwWindowResized); + glfwSetWindowMaximizeCallback(m_native_window, EditorWindow::__OnGlfwWindowMaximized); + glfwSetWindowIconifyCallback(m_native_window, EditorWindow::__OnGlfwWindowMinimized); - glfwSetMouseButtonCallback(m_native_window, VulkanWindow::__OnGlfwMouseButtonRaised); - glfwSetScrollCallback(m_native_window, VulkanWindow::__OnGlfwMouseScrollRaised); - glfwSetKeyCallback(m_native_window, VulkanWindow::__OnGlfwKeyboardRaised); + glfwSetMouseButtonCallback(m_native_window, EditorWindow::__OnGlfwMouseButtonRaised); + glfwSetScrollCallback(m_native_window, EditorWindow::__OnGlfwMouseScrollRaised); + glfwSetKeyCallback(m_native_window, EditorWindow::__OnGlfwKeyboardRaised); - glfwSetCursorPosCallback(m_native_window, VulkanWindow::__OnGlfwCursorMoved); - glfwSetCharCallback(m_native_window, VulkanWindow::__OnGlfwTextInputRaised); + glfwSetCursorPosCallback(m_native_window, EditorWindow::__OnGlfwCursorMoved); + glfwSetCharCallback(m_native_window, EditorWindow::__OnGlfwTextInputRaised); glfwMaximizeWindow(m_native_window); } - void VulkanWindow::InitializeLayer() + void EditorWindow::InitializeLayer() { auto& layer_stack = *m_layer_stack_ptr; @@ -155,7 +158,7 @@ namespace ZEngine::Window::GLFWWindow ZENGINE_CORE_INFO("Windows layers initialized") } - void VulkanWindow::Deinitialize() + void EditorWindow::Deinitialize() { auto& layer_stack = *m_layer_stack_ptr; for (auto rlayer_it = std::rbegin(layer_stack); rlayer_it != std::rend(layer_stack); ++rlayer_it) @@ -166,17 +169,27 @@ namespace ZEngine::Window::GLFWWindow m_swapchain.reset(); } - void VulkanWindow::PollEvent() + void EditorWindow::PollEvent() { glfwPollEvents(); } - float VulkanWindow::GetTime() + float EditorWindow::GetTime() { return (float) glfwGetTime(); } - void VulkanWindow::__OnGlfwFrameBufferSizeChanged(GLFWwindow* window, int width, int height) + float EditorWindow::GetDeltaTime() + { + static float last_frame_time = 0.f; + + float time = GetTime(); + m_delta_time = time - last_frame_time; + last_frame_time = time; + return m_delta_time; + } + + void EditorWindow::__OnGlfwFrameBufferSizeChanged(GLFWwindow* window, int width, int height) { WindowProperty* property = reinterpret_cast(glfwGetWindowUserPointer(window)); if (property) @@ -188,7 +201,7 @@ namespace ZEngine::Window::GLFWWindow } } - void VulkanWindow::__OnGlfwWindowClose(GLFWwindow* window) + void EditorWindow::__OnGlfwWindowClose(GLFWwindow* window) { WindowProperty* property = reinterpret_cast(glfwGetWindowUserPointer(window)); if (property) @@ -198,7 +211,7 @@ namespace ZEngine::Window::GLFWWindow } } - void VulkanWindow::__OnGlfwWindowResized(GLFWwindow* window, int width, int height) + void EditorWindow::__OnGlfwWindowResized(GLFWwindow* window, int width, int height) { WindowProperty* property = reinterpret_cast(glfwGetWindowUserPointer(window)); if (property) @@ -208,7 +221,7 @@ namespace ZEngine::Window::GLFWWindow } } - void VulkanWindow::__OnGlfwWindowMaximized(GLFWwindow* window, int maximized) + void EditorWindow::__OnGlfwWindowMaximized(GLFWwindow* window, int maximized) { WindowProperty* property = reinterpret_cast(glfwGetWindowUserPointer(window)); if (property) @@ -225,7 +238,7 @@ namespace ZEngine::Window::GLFWWindow } } - void VulkanWindow::__OnGlfwWindowMinimized(GLFWwindow* window, int minimized) + void EditorWindow::__OnGlfwWindowMinimized(GLFWwindow* window, int minimized) { WindowProperty* property = reinterpret_cast(glfwGetWindowUserPointer(window)); if (property) @@ -241,7 +254,7 @@ namespace ZEngine::Window::GLFWWindow } } - void VulkanWindow::__OnGlfwMouseButtonRaised(GLFWwindow* window, int button, int action, int mods) + void EditorWindow::__OnGlfwMouseButtonRaised(GLFWwindow* window, int button, int action, int mods) { WindowProperty* property = reinterpret_cast(glfwGetWindowUserPointer(window)); if (property) @@ -258,7 +271,7 @@ namespace ZEngine::Window::GLFWWindow } } - void VulkanWindow::__OnGlfwMouseScrollRaised(GLFWwindow* window, double xoffset, double yoffset) + void EditorWindow::__OnGlfwMouseScrollRaised(GLFWwindow* window, double xoffset, double yoffset) { WindowProperty* property = reinterpret_cast(glfwGetWindowUserPointer(window)); if (property) @@ -268,7 +281,7 @@ namespace ZEngine::Window::GLFWWindow } } - void VulkanWindow::__OnGlfwCursorMoved(GLFWwindow* window, double xoffset, double yoffset) + void EditorWindow::__OnGlfwCursorMoved(GLFWwindow* window, double xoffset, double yoffset) { WindowProperty* property = reinterpret_cast(glfwGetWindowUserPointer(window)); if (property) @@ -278,7 +291,7 @@ namespace ZEngine::Window::GLFWWindow } } - void VulkanWindow::__OnGlfwTextInputRaised(GLFWwindow* window, unsigned int character) + void EditorWindow::__OnGlfwTextInputRaised(GLFWwindow* window, unsigned int character) { WindowProperty* property = reinterpret_cast(glfwGetWindowUserPointer(window)); if (property) @@ -290,7 +303,7 @@ namespace ZEngine::Window::GLFWWindow } } - void VulkanWindow::__OnGlfwKeyboardRaised(GLFWwindow* window, int key, int scancode, int action, int mods) + void EditorWindow::__OnGlfwKeyboardRaised(GLFWwindow* window, int key, int scancode, int action, int mods) { WindowProperty* property = reinterpret_cast(glfwGetWindowUserPointer(window)); if (property) @@ -327,7 +340,7 @@ namespace ZEngine::Window::GLFWWindow } } - void VulkanWindow::Update(Core::TimeStep delta_time) + void EditorWindow::Update(Core::TimeStep delta_time) { for (const Ref& layer : *m_layer_stack_ptr) { @@ -335,7 +348,7 @@ namespace ZEngine::Window::GLFWWindow } } - void VulkanWindow::Render() + void EditorWindow::Render() { for (const Ref& layer : *m_layer_stack_ptr) { @@ -345,7 +358,7 @@ namespace ZEngine::Window::GLFWWindow m_swapchain->Present(); } - bool VulkanWindow::CreateSurface(void* instance, void** out_window_surface) + bool EditorWindow::CreateSurface(void* instance, void** out_window_surface) { if (!instance || !out_window_surface) { @@ -357,7 +370,7 @@ namespace ZEngine::Window::GLFWWindow return (result == VK_SUCCESS); } - std::vector VulkanWindow::GetRequiredExtensionLayers() + std::vector EditorWindow::GetRequiredExtensionLayers() { uint32_t count = 0; const char** extensions_layer_names = glfwGetRequiredInstanceExtensions(&count); @@ -370,24 +383,24 @@ namespace ZEngine::Window::GLFWWindow return outputs; } - Ref VulkanWindow::GetSwapchain() const + Ref EditorWindow::GetSwapchain() const { return m_swapchain; } - VulkanWindow::~VulkanWindow() + EditorWindow::~EditorWindow() { glfwSetErrorCallback(NULL); glfwDestroyWindow(m_native_window); glfwTerminate(); } - uint32_t VulkanWindow::GetHeight() const + uint32_t EditorWindow::GetHeight() const { return m_property.Height; } - bool VulkanWindow::OnWindowClosed(WindowClosedEvent& event) + bool EditorWindow::OnWindowClosed(WindowClosedEvent& event) { glfwSetWindowShouldClose(m_native_window, GLFW_TRUE); ZENGINE_CORE_INFO("Window has been closed") @@ -398,7 +411,7 @@ namespace ZEngine::Window::GLFWWindow return true; } - bool VulkanWindow::OnWindowResized(WindowResizedEvent& event) + bool EditorWindow::OnWindowResized(WindowResizedEvent& event) { if (event.GetWidth() > 0 && event.GetHeight() > 0) { @@ -412,7 +425,7 @@ namespace ZEngine::Window::GLFWWindow return false; } - bool VulkanWindow::OnWindowMinimized(Event::WindowMinimizedEvent& event) + bool EditorWindow::OnWindowMinimized(Event::WindowMinimizedEvent& event) { ZENGINE_CORE_INFO("Window has been minimized") @@ -422,7 +435,7 @@ namespace ZEngine::Window::GLFWWindow return false; } - bool VulkanWindow::OnWindowMaximized(Event::WindowMaximizedEvent& event) + bool EditorWindow::OnWindowMaximized(Event::WindowMaximizedEvent& event) { ZENGINE_CORE_INFO("Window has been maximized") @@ -431,7 +444,7 @@ namespace ZEngine::Window::GLFWWindow return false; } - bool VulkanWindow::OnWindowRestored(Event::WindowRestoredEvent& event) + bool EditorWindow::OnWindowRestored(Event::WindowRestoredEvent& event) { ZENGINE_CORE_INFO("Window has been restored") @@ -441,75 +454,85 @@ namespace ZEngine::Window::GLFWWindow return false; } - bool VulkanWindow::OnEvent(Event::CoreEvent& event) + bool EditorWindow::OnEvent(Event::CoreEvent& event) { Event::EventDispatcher event_dispatcher(event); - event_dispatcher.Dispatch(std::bind(&VulkanWindow::OnWindowClosed, this, std::placeholders::_1)); - event_dispatcher.Dispatch(std::bind(&VulkanWindow::OnWindowResized, this, std::placeholders::_1)); + event_dispatcher.Dispatch(std::bind(&EditorWindow::OnWindowClosed, this, std::placeholders::_1)); + event_dispatcher.Dispatch(std::bind(&EditorWindow::OnWindowResized, this, std::placeholders::_1)); - event_dispatcher.Dispatch(std::bind(&VulkanWindow::OnKeyPressed, this, std::placeholders::_1)); - event_dispatcher.Dispatch(std::bind(&VulkanWindow::OnKeyReleased, this, std::placeholders::_1)); + event_dispatcher.Dispatch(std::bind(&EditorWindow::OnKeyPressed, this, std::placeholders::_1)); + event_dispatcher.Dispatch(std::bind(&EditorWindow::OnKeyReleased, this, std::placeholders::_1)); - event_dispatcher.Dispatch(std::bind(&VulkanWindow::OnMouseButtonPressed, this, std::placeholders::_1)); - event_dispatcher.Dispatch(std::bind(&VulkanWindow::OnMouseButtonReleased, this, std::placeholders::_1)); - event_dispatcher.Dispatch(std::bind(&VulkanWindow::OnMouseButtonMoved, this, std::placeholders::_1)); - event_dispatcher.Dispatch(std::bind(&VulkanWindow::OnMouseButtonWheelMoved, this, std::placeholders::_1)); + event_dispatcher.Dispatch(std::bind(&EditorWindow::OnMouseButtonPressed, this, std::placeholders::_1)); + event_dispatcher.Dispatch(std::bind(&EditorWindow::OnMouseButtonReleased, this, std::placeholders::_1)); + event_dispatcher.Dispatch(std::bind(&EditorWindow::OnMouseButtonMoved, this, std::placeholders::_1)); + event_dispatcher.Dispatch(std::bind(&EditorWindow::OnMouseButtonWheelMoved, this, std::placeholders::_1)); - event_dispatcher.Dispatch(std::bind(&VulkanWindow::OnTextInputRaised, this, std::placeholders::_1)); + event_dispatcher.Dispatch(std::bind(&EditorWindow::OnTextInputRaised, this, std::placeholders::_1)); - event_dispatcher.Dispatch(std::bind(&VulkanWindow::OnWindowMinimized, this, std::placeholders::_1)); - event_dispatcher.Dispatch(std::bind(&VulkanWindow::OnWindowMaximized, this, std::placeholders::_1)); - event_dispatcher.Dispatch(std::bind(&VulkanWindow::OnWindowRestored, this, std::placeholders::_1)); + event_dispatcher.Dispatch(std::bind(&EditorWindow::OnWindowMinimized, this, std::placeholders::_1)); + event_dispatcher.Dispatch(std::bind(&EditorWindow::OnWindowMaximized, this, std::placeholders::_1)); + event_dispatcher.Dispatch(std::bind(&EditorWindow::OnWindowRestored, this, std::placeholders::_1)); return true; } - bool VulkanWindow::OnKeyPressed(KeyPressedEvent& event) + bool EditorWindow::OnKeyPressed(KeyPressedEvent& event) { Event::EventDispatcher event_dispatcher(event); event_dispatcher.ForwardTo(std::bind(&CoreWindow::ForwardEventToLayers, this, std::placeholders::_1)); return true; } - bool VulkanWindow::OnKeyReleased(KeyReleasedEvent& event) + bool EditorWindow::OnKeyReleased(KeyReleasedEvent& event) { Event::EventDispatcher event_dispatcher(event); event_dispatcher.ForwardTo(std::bind(&CoreWindow::ForwardEventToLayers, this, std::placeholders::_1)); return true; } - bool VulkanWindow::OnMouseButtonPressed(MouseButtonPressedEvent& event) + bool EditorWindow::OnMouseButtonPressed(MouseButtonPressedEvent& event) { Event::EventDispatcher event_dispatcher(event); event_dispatcher.ForwardTo(std::bind(&CoreWindow::ForwardEventToLayers, this, std::placeholders::_1)); return true; } - bool VulkanWindow::OnMouseButtonReleased(MouseButtonReleasedEvent& event) + bool EditorWindow::OnMouseButtonReleased(MouseButtonReleasedEvent& event) { Event::EventDispatcher event_dispatcher(event); event_dispatcher.ForwardTo(std::bind(&CoreWindow::ForwardEventToLayers, this, std::placeholders::_1)); return true; } - bool VulkanWindow::OnMouseButtonMoved(MouseButtonMovedEvent& event) + bool EditorWindow::OnMouseButtonMoved(MouseButtonMovedEvent& event) { Event::EventDispatcher event_dispatcher(event); event_dispatcher.ForwardTo(std::bind(&CoreWindow::ForwardEventToLayers, this, std::placeholders::_1)); return true; } - bool VulkanWindow::OnMouseButtonWheelMoved(MouseButtonWheelEvent& event) + bool EditorWindow::OnMouseButtonWheelMoved(MouseButtonWheelEvent& event) { Event::EventDispatcher event_dispatcher(event); event_dispatcher.ForwardTo(std::bind(&CoreWindow::ForwardEventToLayers, this, std::placeholders::_1)); return true; } - bool VulkanWindow::OnTextInputRaised(TextInputEvent& event) + bool EditorWindow::OnTextInputRaised(TextInputEvent& event) { Event::EventDispatcher event_dispatcher(event); event_dispatcher.ForwardTo(std::bind(&CoreWindow::ForwardEventToLayers, this, std::placeholders::_1)); return true; } -} // namespace ZEngine::Window::GLFWWindow +} // namespace Tetragrama + +namespace ZEngine::Window +{ + CoreWindow* Create(const WindowConfiguration& configuration) + { + auto core_window = new Tetragrama::EditorWindow(configuration); + core_window->SetCallbackFunction(std::bind(&CoreWindow::OnEvent, core_window, std::placeholders::_1)); + return core_window; + } +} // namespace ZEngine::Window diff --git a/Tetragrama/EditorWindow.h b/Tetragrama/EditorWindow.h new file mode 100644 index 00000000..9f80fa11 --- /dev/null +++ b/Tetragrama/EditorWindow.h @@ -0,0 +1,80 @@ +#pragma once +#define GLFW_INCLUDE_VULKAN +#include +#include +#include +#include +#include + +namespace Tetragrama +{ + class EditorWindow : public ZEngine::Window::CoreWindow + { + public: + EditorWindow(const ZEngine::Window::WindowConfiguration& configuration); + virtual ~EditorWindow(); + + uint32_t GetHeight() const override; + uint32_t GetWidth() const override; + std::string_view GetTitle() const override; + bool IsMinimized() const override; + void SetTitle(std::string_view title) override; + bool IsVSyncEnable() const override; + void SetVSync(bool value) override; + void SetCallbackFunction(const EventCallbackFn& callback) override; + void* GetNativeWindow() const override; + virtual const ZEngine::Window::WindowProperty& GetWindowProperty() const override; + + virtual void Initialize() override; + virtual void InitializeLayer() override; + virtual void Deinitialize() override; + virtual void PollEvent() override; + virtual float GetTime() override; + virtual float GetDeltaTime() override; + virtual void Update(ZEngine::Core::TimeStep delta_time) override; + virtual void Render() override; + + virtual bool CreateSurface(void* instance, void** out_window_surface) override; + virtual std::vector GetRequiredExtensionLayers() override; + ZEngine::Ref GetSwapchain() const override; + + public: + bool OnEvent(ZEngine::Event::CoreEvent& event) override; + + protected: + virtual bool OnKeyPressed(ZEngine::Event::KeyPressedEvent&) override; + virtual bool OnKeyReleased(ZEngine::Event::KeyReleasedEvent&) override; + + virtual bool OnMouseButtonPressed(ZEngine::Event::MouseButtonPressedEvent&) override; + virtual bool OnMouseButtonReleased(ZEngine::Event::MouseButtonReleasedEvent&) override; + virtual bool OnMouseButtonMoved(ZEngine::Event::MouseButtonMovedEvent&) override; + virtual bool OnMouseButtonWheelMoved(ZEngine::Event::MouseButtonWheelEvent&) override; + + virtual bool OnTextInputRaised(ZEngine::Event::TextInputEvent&) override; + + virtual bool OnWindowClosed(ZEngine::Event::WindowClosedEvent&) override; + virtual bool OnWindowResized(ZEngine::Event::WindowResizedEvent&) override; + virtual bool OnWindowMinimized(ZEngine::Event::WindowMinimizedEvent&) override; + virtual bool OnWindowMaximized(ZEngine::Event::WindowMaximizedEvent&) override; + virtual bool OnWindowRestored(ZEngine::Event::WindowRestoredEvent&) override; + + static void __OnGlfwWindowClose(GLFWwindow*); + static void __OnGlfwWindowResized(GLFWwindow*, int width, int height); + static void __OnGlfwWindowMaximized(GLFWwindow*, int maximized); + static void __OnGlfwWindowMinimized(GLFWwindow*, int minimized); + + static void __OnGlfwMouseButtonRaised(GLFWwindow*, int button, int action, int mods); + static void __OnGlfwMouseScrollRaised(GLFWwindow*, double xoffset, double yoffset); + static void __OnGlfwCursorMoved(GLFWwindow*, double xpos, double ypos); + static void __OnGlfwTextInputRaised(GLFWwindow*, unsigned int character); + + static void __OnGlfwKeyboardRaised(GLFWwindow*, int key, int scancode, int action, int mods); + + static void __OnGlfwFrameBufferSizeChanged(GLFWwindow*, int width, int height); + + private: + GLFWwindow* m_native_window{nullptr}; + ZEngine::Ref m_swapchain; + }; + +} // namespace Tetragrama diff --git a/ZEngine/ZEngine/Engine.cpp b/ZEngine/ZEngine/Engine.cpp index e033c69c..0b2dfcb5 100644 --- a/ZEngine/ZEngine/Engine.cpp +++ b/ZEngine/ZEngine/Engine.cpp @@ -8,22 +8,19 @@ using namespace ZEngine::Rendering::Renderers; namespace ZEngine { - bool Engine::m_request_terminate{false}; - float Engine::m_last_frame_time{0.0f}; - Core::TimeStep Engine::m_delta_time{0.0f}; - Ref Engine::m_window{nullptr}; + static bool s_request_terminate{false}; + static WeakRef g_current_window = nullptr; - void Engine::Initialize(const EngineConfiguration& engine_configuration) + void Engine::Initialize(const EngineConfiguration& engine_configuration, const Ref& window) { + g_current_window = window; Logging::Logger::Initialize(engine_configuration.LoggerConfiguration); - m_window.reset(ZEngine::Window::Create(engine_configuration.WindowConfiguration)); + Hardwares::VulkanDevice::Initialize(window); - Hardwares::VulkanDevice::Initialize(m_window); - - m_window->Initialize(); - GraphicRenderer::SetMainSwapchain(m_window->GetSwapchain()); - Rendering::Renderers::GraphicRenderer::Initialize(); + window->Initialize(); + GraphicRenderer::SetMainSwapchain(window->GetSwapchain()); + GraphicRenderer::Initialize(); /* * Renderer Post initialization */ @@ -31,32 +28,29 @@ namespace ZEngine for (const auto& layer : engine_configuration.WindowConfiguration.RenderingLayerCollection) { - m_window->PushLayer(layer); + window->PushLayer(layer); } for (const auto& layer : engine_configuration.WindowConfiguration.OverlayLayerCollection) { - m_window->PushOverlayLayer(layer); + window->PushOverlayLayer(layer); } - m_window->InitializeLayer(); - } - - void Engine::ProcessEvent() - { - m_window->PollEvent(); + window->InitializeLayer(); } void Engine::Deinitialize() { - m_window->Deinitialize(); - Rendering::Renderers::GraphicRenderer::Deinitialize(); + if (auto window = g_current_window.lock()) + { + window->Deinitialize(); + } + GraphicRenderer::Deinitialize(); Hardwares::VulkanDevice::Deinitialize(); } void Engine::Dispose() { - m_request_terminate = false; - m_window.reset(); + s_request_terminate = false; Hardwares::VulkanDevice::Dispose(); @@ -64,66 +58,47 @@ namespace ZEngine Logging::Logger::Dispose(); } - void Engine::Update(Core::TimeStep delta_time) - { - GraphicRenderer::Update(); - m_window->Update(delta_time); - } - - void Engine::Render() - { - m_window->Render(); - } - bool Engine::OnEngineClosed(Event::EngineClosedEvent& event) { - m_request_terminate = true; + s_request_terminate = true; return true; } - void Engine::Start() - { - m_request_terminate = false; - Run(); - } - - Ref Engine::GetWindow() - { - return m_window; - } - - Core::TimeStep Engine::GetDeltaTime() - { - return m_delta_time; - } - void Engine::Run() { - while (true) + s_request_terminate = false; + while (auto window = g_current_window.lock()) { - if (m_request_terminate) + if (s_request_terminate) { break; } - float time = m_window->GetTime() / 1000.0f; - m_delta_time = time - m_last_frame_time; - m_last_frame_time = (m_delta_time >= 1.0f) ? m_last_frame_time : time + 1.0f; // waiting 1s to update + float dt = window->GetDeltaTime(); - ProcessEvent(); + window->PollEvent(); - if (m_window->IsMinimized()) + if (window->IsMinimized()) { continue; } - Update(m_delta_time); - Render(); + /*On Update*/ + GraphicRenderer::Update(); + window->Update(dt); + + /*On Render*/ + window->Render(); } - if (m_request_terminate) + if (s_request_terminate) { Deinitialize(); } } + + Ref Engine::GetWindow() + { + return g_current_window.lock(); + } } // namespace ZEngine diff --git a/ZEngine/ZEngine/Engine.h b/ZEngine/ZEngine/Engine.h index 37814830..e033e428 100644 --- a/ZEngine/ZEngine/Engine.h +++ b/ZEngine/ZEngine/Engine.h @@ -1,17 +1,7 @@ #pragma once - -#include -#include -#include -#include -#include #include #include -#include -#include -#include #include -#include namespace ZEngine { @@ -21,27 +11,11 @@ namespace ZEngine Engine(const Engine&) = delete; ~Engine() = delete; - static void Initialize(const EngineConfiguration&); - - static void ProcessEvent(); - static void Update(Core::TimeStep delta_time); - static void Render(); - - static void Start(); - - static Core::TimeStep GetDeltaTime(); - static Ref GetWindow(); - - static void Deinitialize(); - static void Dispose(); - - static bool OnEngineClosed(Event::EngineClosedEvent&); - - private: - static void Run(); - static bool m_request_terminate; - static float m_last_frame_time; - static Core::TimeStep m_delta_time; - static Ref m_window; + static void Initialize(const EngineConfiguration&, const Ref&); + static void Run(); + static Ref GetWindow(); + static void Deinitialize(); + static void Dispose(); + static bool OnEngineClosed(Event::EngineClosedEvent&); }; } // namespace ZEngine diff --git a/ZEngine/ZEngine/Layers/ImguiLayer.cpp b/ZEngine/ZEngine/Layers/ImguiLayer.cpp index d7bb53c5..4ba3081b 100644 --- a/ZEngine/ZEngine/Layers/ImguiLayer.cpp +++ b/ZEngine/ZEngine/Layers/ImguiLayer.cpp @@ -2,7 +2,6 @@ #include #include #include -#include #include #include diff --git a/ZEngine/ZEngine/Window/CoreWindow.cpp b/ZEngine/ZEngine/Window/CoreWindow.cpp index 7d79a47c..f4c2b9bf 100644 --- a/ZEngine/ZEngine/Window/CoreWindow.cpp +++ b/ZEngine/ZEngine/Window/CoreWindow.cpp @@ -1,10 +1,6 @@ #include -#include #include -#include -#include -using namespace ZEngine; using namespace ZEngine::Event; using namespace ZEngine::Layers; @@ -48,11 +44,4 @@ namespace ZEngine::Window it->get()->OnEvent(event); } } - - CoreWindow* Create(const WindowConfiguration& configuration) - { - auto core_window = new GLFWWindow::VulkanWindow(configuration); - core_window->SetCallbackFunction(std::bind(&CoreWindow::OnEvent, core_window, std::placeholders::_1)); - return core_window; - } } // namespace ZEngine::Window diff --git a/ZEngine/ZEngine/Window/CoreWindow.h b/ZEngine/ZEngine/Window/CoreWindow.h index 7f7f071f..9354bcc9 100644 --- a/ZEngine/ZEngine/Window/CoreWindow.h +++ b/ZEngine/ZEngine/Window/CoreWindow.h @@ -19,12 +19,6 @@ #include #include #include -#include - -namespace ZEngine -{ - class Engine; -} namespace ZEngine::Layers { @@ -70,8 +64,9 @@ namespace ZEngine::Window virtual void* GetNativeWindow() const = 0; virtual Ref GetSwapchain() const = 0; - virtual void PollEvent() = 0; - virtual float GetTime() = 0; + virtual void PollEvent() = 0; + virtual float GetTime() = 0; + virtual float GetDeltaTime() = 0; virtual void ForwardEventToLayers(Event::CoreEvent& event); @@ -81,6 +76,7 @@ namespace ZEngine::Window virtual void PushLayer(Ref&& layer); protected: + Core::TimeStep m_delta_time; WindowProperty m_property; ZEngine::Scope m_layer_stack_ptr{nullptr}; }; diff --git a/ZEngine/ZEngine/Window/GlfwWindow/VulkanWindow.h b/ZEngine/ZEngine/Window/GlfwWindow/VulkanWindow.h deleted file mode 100644 index e946b930..00000000 --- a/ZEngine/ZEngine/Window/GlfwWindow/VulkanWindow.h +++ /dev/null @@ -1,78 +0,0 @@ -#pragma once -#include -#include -#include -#include -#include - -namespace ZEngine::Window::GLFWWindow -{ - class VulkanWindow : public CoreWindow - { - public: - VulkanWindow(const WindowConfiguration& configuration); - virtual ~VulkanWindow(); - - uint32_t GetHeight() const override; - uint32_t GetWidth() const override; - std::string_view GetTitle() const override; - bool IsMinimized() const override; - void SetTitle(std::string_view title) override; - bool IsVSyncEnable() const override; - void SetVSync(bool value) override; - void SetCallbackFunction(const EventCallbackFn& callback) override; - void* GetNativeWindow() const override; - virtual const WindowProperty& GetWindowProperty() const override; - - virtual void Initialize() override; - virtual void InitializeLayer() override; - virtual void Deinitialize() override; - virtual void PollEvent() override; - virtual float GetTime() override; - virtual void Update(Core::TimeStep delta_time) override; - virtual void Render() override; - - virtual bool CreateSurface(void* instance, void** out_window_surface) override; - virtual std::vector GetRequiredExtensionLayers() override; - Ref GetSwapchain() const override; - - public: - bool OnEvent(Event::CoreEvent& event) override; - - protected: - virtual bool OnKeyPressed(Event::KeyPressedEvent&) override; - virtual bool OnKeyReleased(Event::KeyReleasedEvent&) override; - - virtual bool OnMouseButtonPressed(Event::MouseButtonPressedEvent&) override; - virtual bool OnMouseButtonReleased(Event::MouseButtonReleasedEvent&) override; - virtual bool OnMouseButtonMoved(Event::MouseButtonMovedEvent&) override; - virtual bool OnMouseButtonWheelMoved(Event::MouseButtonWheelEvent&) override; - - virtual bool OnTextInputRaised(Event::TextInputEvent&) override; - - virtual bool OnWindowClosed(Event::WindowClosedEvent&) override; - virtual bool OnWindowResized(Event::WindowResizedEvent&) override; - virtual bool OnWindowMinimized(Event::WindowMinimizedEvent&) override; - virtual bool OnWindowMaximized(Event::WindowMaximizedEvent&) override; - virtual bool OnWindowRestored(Event::WindowRestoredEvent&) override; - - static void __OnGlfwWindowClose(GLFWwindow*); - static void __OnGlfwWindowResized(GLFWwindow*, int width, int height); - static void __OnGlfwWindowMaximized(GLFWwindow*, int maximized); - static void __OnGlfwWindowMinimized(GLFWwindow*, int minimized); - - static void __OnGlfwMouseButtonRaised(GLFWwindow*, int button, int action, int mods); - static void __OnGlfwMouseScrollRaised(GLFWwindow*, double xoffset, double yoffset); - static void __OnGlfwCursorMoved(GLFWwindow*, double xpos, double ypos); - static void __OnGlfwTextInputRaised(GLFWwindow*, unsigned int character); - - static void __OnGlfwKeyboardRaised(GLFWwindow*, int key, int scancode, int action, int mods); - - static void __OnGlfwFrameBufferSizeChanged(GLFWwindow*, int width, int height); - - private: - GLFWwindow* m_native_window{nullptr}; - Ref m_swapchain; - }; - -} // namespace ZEngine::Window::GLFWWindow From 204a43e22efb5312f3c08b2b88b9960c5c1bdc99 Mon Sep 17 00:00:00 2001 From: Jean Philippe Date: Fri, 18 Oct 2024 19:05:48 +0100 Subject: [PATCH 7/7] deleted vulkan window --- .../Window/GlfwWindow/VulkanWindow.cpp | 538 ------------------ 1 file changed, 538 deletions(-) delete mode 100644 ZEngine/ZEngine/Window/GlfwWindow/VulkanWindow.cpp diff --git a/ZEngine/ZEngine/Window/GlfwWindow/VulkanWindow.cpp b/ZEngine/ZEngine/Window/GlfwWindow/VulkanWindow.cpp deleted file mode 100644 index 3277dc1d..00000000 --- a/ZEngine/ZEngine/Window/GlfwWindow/VulkanWindow.cpp +++ /dev/null @@ -1,538 +0,0 @@ -#include -#include -#include -#include -#include -#include - -#ifdef _WIN32 -#define GLFW_EXPOSE_NATIVE_WIN32 -#endif -#include - -using namespace ZEngine; -using namespace ZEngine::Event; -using namespace ZEngine::Window; -using namespace ZEngine::Rendering; - -namespace Tetragrama -{ - EditorWindow::EditorWindow(const WindowConfiguration& configuration) : CoreWindow() - { - m_property.Height = configuration.Height; - m_property.Width = configuration.Width; - m_property.Title = configuration.Title; - m_property.VSync = configuration.EnableVsync; - - int glfw_init = glfwInit(); - if (glfw_init == GLFW_FALSE) - { - ZENGINE_CORE_CRITICAL("Unable to initialize glfw..") - ZENGINE_EXIT_FAILURE(); - } - - glfwWindowHint(GLFW_CLIENT_API, GLFW_NO_API); - - glfwSetErrorCallback([](int error, const char* description) { - ZENGINE_CORE_CRITICAL("{}", description) - ZENGINE_EXIT_FAILURE() - }); - - m_native_window = glfwCreateWindow(m_property.Width, m_property.Height, m_property.Title.c_str(), NULL, NULL); - - if (!m_native_window) - { - ZENGINE_CORE_CRITICAL("Failed to create GLFW Window") - ZENGINE_EXIT_FAILURE() - } - - int window_width = 0, window_height = 0; - glfwGetWindowSize(m_native_window, &window_width, &window_height); - if ((window_width > 0) && (window_height > 0) && (m_property.Width != window_width) && (m_property.Height != window_height)) - { - m_property.SetWidth(window_width); - m_property.SetHeight(window_height); - } - -#ifdef _WIN32 - auto native_hwnd = glfwGetWin32Window(m_native_window); - m_property.Dpi = GetDpiForWindow(native_hwnd); -#endif // _WIN32 - - float x_scale, y_scale; - glfwGetWindowContentScale(m_native_window, &x_scale, &y_scale); - m_property.DpiScale = x_scale; - - ZENGINE_CORE_INFO("Window created, Width = {0}, Height = {1}", m_property.Width, m_property.Height) - } - - uint32_t EditorWindow::GetWidth() const - { - return m_property.Width; - } - - std::string_view EditorWindow::GetTitle() const - { - return m_property.Title; - } - - bool EditorWindow::IsMinimized() const - { - return m_property.IsMinimized; - } - - void EditorWindow::SetTitle(std::string_view title) - { - m_property.Title = title; - glfwSetWindowTitle(m_native_window, m_property.Title.c_str()); - } - - bool EditorWindow::IsVSyncEnable() const - { - return m_property.VSync; - } - - void EditorWindow::SetVSync(bool value) - { - m_property.VSync = value; - if (value) - { - glfwSwapInterval(1); - } - else - { - glfwSwapInterval(0); - } - } - - void EditorWindow::SetCallbackFunction(const EventCallbackFn& callback) - { - m_property.CallbackFn = callback; - } - - void* EditorWindow::GetNativeWindow() const - { - return reinterpret_cast(m_native_window); - } - - const WindowProperty& EditorWindow::GetWindowProperty() const - { - return m_property; - } - - void EditorWindow::Initialize() - { - m_swapchain = CreateRef(); - - glfwSetWindowUserPointer(m_native_window, &m_property); - - glfwSetFramebufferSizeCallback(m_native_window, EditorWindow::__OnGlfwFrameBufferSizeChanged); - - glfwSetWindowCloseCallback(m_native_window, EditorWindow::__OnGlfwWindowClose); - glfwSetWindowSizeCallback(m_native_window, EditorWindow::__OnGlfwWindowResized); - glfwSetWindowMaximizeCallback(m_native_window, EditorWindow::__OnGlfwWindowMaximized); - glfwSetWindowIconifyCallback(m_native_window, EditorWindow::__OnGlfwWindowMinimized); - - glfwSetMouseButtonCallback(m_native_window, EditorWindow::__OnGlfwMouseButtonRaised); - glfwSetScrollCallback(m_native_window, EditorWindow::__OnGlfwMouseScrollRaised); - glfwSetKeyCallback(m_native_window, EditorWindow::__OnGlfwKeyboardRaised); - - glfwSetCursorPosCallback(m_native_window, EditorWindow::__OnGlfwCursorMoved); - glfwSetCharCallback(m_native_window, EditorWindow::__OnGlfwTextInputRaised); - - glfwMaximizeWindow(m_native_window); - } - - void EditorWindow::InitializeLayer() - { - auto& layer_stack = *m_layer_stack_ptr; - - // Initialize in reverse order, so overlay layers can be initialize first - // this give us opportunity to initialize UI-like layers before graphic render-like layers - for (auto rlayer_it = std::rbegin(layer_stack); rlayer_it != std::rend(layer_stack); ++rlayer_it) - { - (*rlayer_it)->SetAttachedWindow(this); - (*rlayer_it)->Initialize(); - } - - ZENGINE_CORE_INFO("Windows layers initialized") - } - - void EditorWindow::Deinitialize() - { - auto& layer_stack = *m_layer_stack_ptr; - for (auto rlayer_it = std::rbegin(layer_stack); rlayer_it != std::rend(layer_stack); ++rlayer_it) - { - (*rlayer_it)->Deinitialize(); - } - - m_swapchain.reset(); - } - - void EditorWindow::PollEvent() - { - glfwPollEvents(); - } - - float EditorWindow::GetTime() - { - return (float) glfwGetTime(); - } - - float EditorWindow::GetDeltaTime() - { - static float last_frame_time = 0.f; - - float time = GetTime(); - m_delta_time = time - last_frame_time; - last_frame_time = time; - return m_delta_time; - } - - void EditorWindow::__OnGlfwFrameBufferSizeChanged(GLFWwindow* window, int width, int height) - { - WindowProperty* property = reinterpret_cast(glfwGetWindowUserPointer(window)); - if (property) - { - property->SetWidth(width); - property->SetHeight(height); - - ZENGINE_CORE_INFO("Window size updated, Width = {0}, Height = {1}", property->Width, property->Height) - } - } - - void EditorWindow::__OnGlfwWindowClose(GLFWwindow* window) - { - WindowProperty* property = reinterpret_cast(glfwGetWindowUserPointer(window)); - if (property) - { - WindowClosedEvent e; - property->CallbackFn(e); - } - } - - void EditorWindow::__OnGlfwWindowResized(GLFWwindow* window, int width, int height) - { - WindowProperty* property = reinterpret_cast(glfwGetWindowUserPointer(window)); - if (property) - { - Event::WindowResizedEvent e{static_cast(width), static_cast(height)}; - property->CallbackFn(e); - } - } - - void EditorWindow::__OnGlfwWindowMaximized(GLFWwindow* window, int maximized) - { - WindowProperty* property = reinterpret_cast(glfwGetWindowUserPointer(window)); - if (property) - { - if (maximized == GLFW_TRUE) - { - Event::WindowMaximizedEvent e; - property->CallbackFn(e); - return; - } - - Event::WindowRestoredEvent e; - property->CallbackFn(e); - } - } - - void EditorWindow::__OnGlfwWindowMinimized(GLFWwindow* window, int minimized) - { - WindowProperty* property = reinterpret_cast(glfwGetWindowUserPointer(window)); - if (property) - { - if (minimized == GLFW_TRUE) - { - Event::WindowMinimizedEvent e; - property->CallbackFn(e); - return; - } - Event::WindowRestoredEvent e; - property->CallbackFn(e); - } - } - - void EditorWindow::__OnGlfwMouseButtonRaised(GLFWwindow* window, int button, int action, int mods) - { - WindowProperty* property = reinterpret_cast(glfwGetWindowUserPointer(window)); - if (property) - { - if (action == GLFW_PRESS) - { - Event::MouseButtonPressedEvent e{static_cast(button)}; - property->CallbackFn(e); - return; - } - - Event::MouseButtonReleasedEvent e{static_cast(button)}; - property->CallbackFn(e); - } - } - - void EditorWindow::__OnGlfwMouseScrollRaised(GLFWwindow* window, double xoffset, double yoffset) - { - WindowProperty* property = reinterpret_cast(glfwGetWindowUserPointer(window)); - if (property) - { - MouseButtonWheelEvent e{xoffset, yoffset}; - property->CallbackFn(e); - } - } - - void EditorWindow::__OnGlfwCursorMoved(GLFWwindow* window, double xoffset, double yoffset) - { - WindowProperty* property = reinterpret_cast(glfwGetWindowUserPointer(window)); - if (property) - { - MouseButtonMovedEvent e{xoffset, yoffset}; - property->CallbackFn(e); - } - } - - void EditorWindow::__OnGlfwTextInputRaised(GLFWwindow* window, unsigned int character) - { - WindowProperty* property = reinterpret_cast(glfwGetWindowUserPointer(window)); - if (property) - { - std::string arr; - arr.append(1, character); - TextInputEvent e{arr.c_str()}; - property->CallbackFn(e); - } - } - - void EditorWindow::__OnGlfwKeyboardRaised(GLFWwindow* window, int key, int scancode, int action, int mods) - { - WindowProperty* property = reinterpret_cast(glfwGetWindowUserPointer(window)); - if (property) - { - switch (action) - { - case GLFW_PRESS: - { - Event::KeyPressedEvent e{static_cast(key), 0}; - property->CallbackFn(e); - break; - } - - case GLFW_RELEASE: - { - Event::KeyReleasedEvent e{static_cast(key)}; - property->CallbackFn(e); - break; - } - - case GLFW_REPEAT: - { - Event::KeyPressedEvent e{static_cast(key), 0}; - property->CallbackFn(e); - break; - } - } - - if (key == GLFW_KEY_ESCAPE) - { - WindowClosedEvent e; - property->CallbackFn(e); - } - } - } - - void EditorWindow::Update(Core::TimeStep delta_time) - { - for (const Ref& layer : *m_layer_stack_ptr) - { - layer->Update(delta_time); - } - } - - void EditorWindow::Render() - { - for (const Ref& layer : *m_layer_stack_ptr) - { - layer->Render(); - } - - m_swapchain->Present(); - } - - bool EditorWindow::CreateSurface(void* instance, void** out_window_surface) - { - if (!instance || !out_window_surface) - { - return false; - } - VkInstance vkInstance = reinterpret_cast(instance); - VkSurfaceKHR* pSurface = reinterpret_cast(out_window_surface); - VkResult result = glfwCreateWindowSurface(vkInstance, m_native_window, nullptr, pSurface); - return (result == VK_SUCCESS); - } - - std::vector EditorWindow::GetRequiredExtensionLayers() - { - uint32_t count = 0; - const char** extensions_layer_names = glfwGetRequiredInstanceExtensions(&count); - std::vector outputs(count); - - for (unsigned i = 0; i < count; ++i) - { - outputs[i] = extensions_layer_names[i]; - } - return outputs; - } - - Ref EditorWindow::GetSwapchain() const - { - return m_swapchain; - } - - EditorWindow::~EditorWindow() - { - glfwSetErrorCallback(NULL); - glfwDestroyWindow(m_native_window); - glfwTerminate(); - } - - uint32_t EditorWindow::GetHeight() const - { - return m_property.Height; - } - - bool EditorWindow::OnWindowClosed(WindowClosedEvent& event) - { - glfwSetWindowShouldClose(m_native_window, GLFW_TRUE); - ZENGINE_CORE_INFO("Window has been closed") - - Event::EngineClosedEvent e(event.GetName().c_str()); - Event::EventDispatcher event_dispatcher(e); - event_dispatcher.Dispatch(std::bind(&Engine::OnEngineClosed, std::placeholders::_1)); - return true; - } - - bool EditorWindow::OnWindowResized(WindowResizedEvent& event) - { - if (event.GetWidth() > 0 && event.GetHeight() > 0) - { - m_swapchain->Resize(); - } - - ZENGINE_CORE_INFO("Window has been resized") - - Event::EventDispatcher event_dispatcher(event); - event_dispatcher.ForwardTo(std::bind(&CoreWindow::ForwardEventToLayers, this, std::placeholders::_1)); - return false; - } - - bool EditorWindow::OnWindowMinimized(Event::WindowMinimizedEvent& event) - { - ZENGINE_CORE_INFO("Window has been minimized") - - m_property.IsMinimized = true; - Event::EventDispatcher event_dispatcher(event); - event_dispatcher.ForwardTo(std::bind(&CoreWindow::ForwardEventToLayers, this, std::placeholders::_1)); - return false; - } - - bool EditorWindow::OnWindowMaximized(Event::WindowMaximizedEvent& event) - { - ZENGINE_CORE_INFO("Window has been maximized") - - Event::EventDispatcher event_dispatcher(event); - event_dispatcher.ForwardTo(std::bind(&CoreWindow::ForwardEventToLayers, this, std::placeholders::_1)); - return false; - } - - bool EditorWindow::OnWindowRestored(Event::WindowRestoredEvent& event) - { - ZENGINE_CORE_INFO("Window has been restored") - - m_property.IsMinimized = false; - Event::EventDispatcher event_dispatcher(event); - event_dispatcher.ForwardTo(std::bind(&CoreWindow::ForwardEventToLayers, this, std::placeholders::_1)); - return false; - } - - bool EditorWindow::OnEvent(Event::CoreEvent& event) - { - Event::EventDispatcher event_dispatcher(event); - event_dispatcher.Dispatch(std::bind(&EditorWindow::OnWindowClosed, this, std::placeholders::_1)); - event_dispatcher.Dispatch(std::bind(&EditorWindow::OnWindowResized, this, std::placeholders::_1)); - - event_dispatcher.Dispatch(std::bind(&EditorWindow::OnKeyPressed, this, std::placeholders::_1)); - event_dispatcher.Dispatch(std::bind(&EditorWindow::OnKeyReleased, this, std::placeholders::_1)); - - event_dispatcher.Dispatch(std::bind(&EditorWindow::OnMouseButtonPressed, this, std::placeholders::_1)); - event_dispatcher.Dispatch(std::bind(&EditorWindow::OnMouseButtonReleased, this, std::placeholders::_1)); - event_dispatcher.Dispatch(std::bind(&EditorWindow::OnMouseButtonMoved, this, std::placeholders::_1)); - event_dispatcher.Dispatch(std::bind(&EditorWindow::OnMouseButtonWheelMoved, this, std::placeholders::_1)); - - event_dispatcher.Dispatch(std::bind(&EditorWindow::OnTextInputRaised, this, std::placeholders::_1)); - - event_dispatcher.Dispatch(std::bind(&EditorWindow::OnWindowMinimized, this, std::placeholders::_1)); - event_dispatcher.Dispatch(std::bind(&EditorWindow::OnWindowMaximized, this, std::placeholders::_1)); - event_dispatcher.Dispatch(std::bind(&EditorWindow::OnWindowRestored, this, std::placeholders::_1)); - - return true; - } - - bool EditorWindow::OnKeyPressed(KeyPressedEvent& event) - { - Event::EventDispatcher event_dispatcher(event); - event_dispatcher.ForwardTo(std::bind(&CoreWindow::ForwardEventToLayers, this, std::placeholders::_1)); - return true; - } - - bool EditorWindow::OnKeyReleased(KeyReleasedEvent& event) - { - Event::EventDispatcher event_dispatcher(event); - event_dispatcher.ForwardTo(std::bind(&CoreWindow::ForwardEventToLayers, this, std::placeholders::_1)); - return true; - } - - bool EditorWindow::OnMouseButtonPressed(MouseButtonPressedEvent& event) - { - Event::EventDispatcher event_dispatcher(event); - event_dispatcher.ForwardTo(std::bind(&CoreWindow::ForwardEventToLayers, this, std::placeholders::_1)); - return true; - } - - bool EditorWindow::OnMouseButtonReleased(MouseButtonReleasedEvent& event) - { - Event::EventDispatcher event_dispatcher(event); - event_dispatcher.ForwardTo(std::bind(&CoreWindow::ForwardEventToLayers, this, std::placeholders::_1)); - return true; - } - - bool EditorWindow::OnMouseButtonMoved(MouseButtonMovedEvent& event) - { - Event::EventDispatcher event_dispatcher(event); - event_dispatcher.ForwardTo(std::bind(&CoreWindow::ForwardEventToLayers, this, std::placeholders::_1)); - return true; - } - - bool EditorWindow::OnMouseButtonWheelMoved(MouseButtonWheelEvent& event) - { - Event::EventDispatcher event_dispatcher(event); - event_dispatcher.ForwardTo(std::bind(&CoreWindow::ForwardEventToLayers, this, std::placeholders::_1)); - return true; - } - - bool EditorWindow::OnTextInputRaised(TextInputEvent& event) - { - Event::EventDispatcher event_dispatcher(event); - event_dispatcher.ForwardTo(std::bind(&CoreWindow::ForwardEventToLayers, this, std::placeholders::_1)); - return true; - } -} // namespace Tetragrama - -namespace ZEngine::Window -{ - CoreWindow* Create(const WindowConfiguration& configuration) - { - auto core_window = new Tetragrama::EditorWindow(configuration); - core_window->SetCallbackFunction(std::bind(&CoreWindow::OnEvent, core_window, std::placeholders::_1)); - return core_window; - } -} // namespace ZEngine::Window