Commit Graph

23 Commits

Author SHA1 Message Date
Thraix d817c3084d Improvement to coordinate system
- Flip coordinate system for SwapChain passthrough
- Normalize MouseMoveEvent coordination
- Add RemoveSystem to Ecs
2023-05-23 13:02:21 +02:00
Thraix cd4abe6007 Add Signal to ECS
- Add Signal class to ECS used to send signals/events into systems
2023-05-22 12:52:15 +02:00
Thraix 0cd35928a7 Fix acronym naming standard
- Now follow standard that acronyms should only capitalize the first
  letter
2023-05-22 12:12:51 +02:00
Thraix 84b24457a0 Add Scene with systems
- Add Scene class which populates the engine with Systems which handles
  all logic in the game
- Add Systems to ecs
2023-05-20 19:45:15 +02:00
Thraix 05d2c2940b Fix vulkan linking issues and add iGPU support
- Fix vulkan linking by setting correct VK_LAYER_PATH and correct
  vulkan library path
- Add priority to GPU selection. Prioritizing dedicated GPUs over
  integrated GPUs
2023-05-14 20:24:04 +02:00
Thraix 412d74ade3 Add ECS framework 2023-05-11 22:33:10 +02:00
Thraix 94d4aa9356 Add Font BoundingBox calculation 2023-05-10 22:53:34 +02:00
Thraix 35ae3a13d2 Fix compile errors in release target 2023-05-09 21:14:41 +02:00
Thraix 3d4a97103c Add dependencies as submodules
- Add submodule freetype
- Add submodule glfw3
- Add submodule glm
- Add submodule msdfgen-atlas-gen
- Add submodule msdfgen-core
- Add submodule msdfgen-ext
- Add submodule stb
2023-05-09 20:22:51 +02:00
Thraix 4e466a1fce Add Text rendering
- Add FreeType as dependency
- Add MsdfGen as dependency
- Add MsdfAtlasGen as dependency
2023-05-08 22:12:19 +02:00
Thraix ad69293faa Add printable Enum 2023-05-01 18:23:22 +02:00
Thraix ca7286807a Add Event system
- Add abstract Event class
- Add EventDispatcher
- Add Mouse, Key and Window Events
2023-04-26 21:55:32 +02:00
Thraix 1731bb1dd5 Add additional Asset types
- Add Framebuffer Asset
- Add Pipeline Asset
- Add RenderTexture Asset
2023-04-22 21:00:34 +02:00
Thraix 0246e89039 Refactor tracing 2023-04-13 22:03:06 +02:00
Thraix d9e7fd7019 Add Asset system
- Add Abstract Asset class which defines Assets
- Add AssetManager class to keep track of all the Asset
- Add AssetFile class to cache the asset without loading it
- Add UUID class to uniquely identify assets
- Add MetaFile class to load meta asset files
2023-04-13 21:00:36 +02:00
Thraix 431ad9c573 Make Vulkan class a global instance 2023-04-04 21:14:01 +02:00
Thraix 9faec15fd6 Refactor UniformBuffers and DescriptorSets
- Refactor UniformBuffers to keep track of the uniforms it contains
- Refactor DescriptorSets to initialize UniformsBuffers and keep track
  of all its bindings
- DescriptorSets can now be created from the Pipeline
- Add custom DescriptorSets to Renderer
2023-03-24 22:27:03 +01:00
Thraix 4fe719858d Add ShaderReflector
- Used to look at the shader files and find set/binding automatically
2023-03-14 22:56:11 +01:00
Thraix 6e463b3560 Cleanup Renderer 2023-03-08 23:03:30 +01:00
Thraix 796de92a56 Add 2D Batch renderer 2023-03-08 12:05:57 +01:00
Thraix c975ed2674 Add Device and Window abstraction 2023-03-04 23:02:42 +01:00
Thraix 1e7d08250e Add mesh class
- Fix compile errors due to not adding files to git
2023-02-07 22:22:53 +01:00
Thraix 827572eada Add file structure to code
- Rename project to CopiumEngine
2023-02-07 21:43:47 +01:00