Commit Graph

24 Commits

Author SHA1 Message Date
Kevin Trogant
1b4a17f01a Get it to compile again 2024-06-05 11:54:35 +02:00
Kevin Trogant
88da8ec889 Render a triangle 2024-05-19 12:48:50 +02:00
Kevin Trogant
656b21d1ef Loading and caching effects 2024-05-14 14:07:04 +02:00
Kevin Trogant
5d988d15b7 give passes views instead of lists
A view is a collection of lists. This is useful for a shadow mapping
pass that generates more than one shadow map.
Each view would create lists of objects visible in one shadow map.
2024-05-07 08:12:45 +02:00
Kevin Trogant
388b747a04 Executing the simplest possible render graph 2024-04-18 17:06:11 +02:00
Kevin Trogant
e93847b187 Begin and end pass 2024-04-03 22:56:31 +02:00
Kevin Trogant
2035f73f3e init dx11 and basic present 2024-04-02 19:47:28 +02:00
Kevin Trogant
3bc192b281 dump state
this will be the basis of the framegraph rewrite, because the current
state is fucked
2024-03-25 17:55:03 +01:00
Kevin Trogant
6f89dd4c46 Try to improve resource layout transition 2024-03-17 15:10:45 +01:00
Kevin Trogant
9008d08d9f Chain framegraph semaphores together
Quick RenderDoc check suggests that this works as intended :-)
2024-02-27 14:35:48 +01:00
Kevin Trogant
ee24cd4903 Differentiate between graphics and compile passes 2024-02-27 10:00:00 +01:00
Kevin Trogant
bc6076b786 Seems like a valid chain of image transitions.
Now we need to draw something and also have the correct semaphore waits
to establish dependencies.
2024-02-20 13:47:47 +01:00
Kevin Trogant
c23f03e622 Add single-threaded framegraph execute function 2024-02-09 00:07:35 +01:00
Kevin Trogant
abe05f3780 Add basic infrastructure for running update and render threads
Communicate progress via a pair of semaphores
2024-02-08 23:06:23 +01:00
Kevin Trogant
4f27819fa2 Improve dll build
Still not perfect, but more user friendly now.
2024-02-08 16:57:01 +01:00
Kevin Trogant
027ef8a46f Restructure the project
Move asset_compiler into its own (static) library.
This removes the dependency on it from the runtime and makes it possible
to have a standalone asset_compiler tool (useful for modding support).

Split meson.build into sub-files to improve readability.

Give each target its own pch directory.
This is more inline with what the meson manual recommends.

Export dependencies to make it possible to use the engine as a meson
subproject.
This is currently untested.
2024-02-07 13:56:06 +01:00
Kevin Trogant
cc49a017f9 Load framegraphs from resource files 2024-02-06 17:57:14 +01:00
Kevin Trogant
bdd3db98bb Add creation function for framegraphs and render targets
- The framegraph code currently does not attempt to alias render
  targets, but this should be pretty straightforward to add.
2024-02-05 21:49:09 +01:00
Kevin Trogant
abb367dffc rename the engine to recreational.tech 2024-01-16 16:10:56 +01:00
Kevin Trogant
19f7e29215 Progress on assetc 2023-12-10 23:09:19 +01:00
Kevin Trogant
97adb0dffa various updates 2023-11-22 11:23:52 +01:00
Kevin Trogant
904a26374b feat: create vulkan device, surface etc.
- Next up: swapchain
- Use volk
2023-10-23 23:12:45 +02:00
Kevin Trogant
4b97f8ff33 fix: Linux build
- Prepare for supporting Xlib and Wayland (in the future), by having a
  option for 'use_xlib'
- Fixed a few compile errors
2023-10-17 15:22:02 +02:00
Kevin Trogant
81798df3e9 ref, feat: Restructure
- The renderer backend is now its own library, loaded at runtime.
- Removed GLFW dependency, instead use win32 directly.
- Broke linux window creation, because it's not implemented yet.
  - Maybe use GLFW for linux?
2023-10-17 00:54:51 +02:00