Commit Graph

14 Commits

Author SHA1 Message Date
Kevin Trogant
f98d64b927 feat(renderer): Add vulkan renderer stub
Some checks failed
Ubuntu Cross to Win64 / Cross Compile with ming64 (1.4.0, ubuntu-latest) (push) Failing after 1m26s
2024-07-23 12:42:42 +02:00
Kevin Trogant
b0e6839a1c Rip out renderer code
THIS WILL NOT COMPILE
2024-06-04 11:45:55 +02:00
Kevin Trogant
388b747a04 Executing the simplest possible render graph 2024-04-18 17:06:11 +02:00
Kevin Trogant
c7e5bb8a31 Render Graph prep 2024-04-02 19:43:02 +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
3d0d4169f1 Progress towards rendering with effects
- Added a null renderer to simplify testing
2024-03-08 01:13:10 +01:00
Kevin Trogant
b4eef37741 Fix linux build
I did not test if it actually runs, but it builds with warning_level=2.
2024-02-29 16:12:09 +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
e989c2b406 Creating timed semaphores
- Similar to Dx12 fences.
- More flexible than VK 1 binary semaphores.
2024-02-16 15:31:23 +01:00
Kevin Trogant
887fa63c43 Manage command buffers
I decided to make queues explicit, to simplify handling queue ownership
transfers in the renderer code. The framegraph + pass code has explicit knowledge
about resource ownership, so it makes sense to handle it there.

- Manage pools
- Allocate command buffers
- Submit command buffers
2024-02-13 08:35:19 +01:00
Kevin Trogant
b44b3e651b Add interface for command buffers 2024-02-09 10:20:00 +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