Kevin Trogant
2651ce2e9d
buffers
2024-04-03 22:01:33 +02:00
Kevin Trogant
565c330f71
render targets
2024-04-03 20:56:10 +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
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
9d2987121e
Add debug names to framegraph objects
...
Better renderdoc output
2024-02-28 13:38:41 +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
1e49b14879
Present the first (black) image
2024-02-19 10:27:53 +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
765e263979
Add render_command_buffer handle type
...
Also unify handle types via macro
2024-02-09 10:09:39 +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
fc08ab08d4
Test resource manager and renderer integration
2024-02-05 01:23:31 +01:00
Kevin Trogant
abb367dffc
rename the engine to recreational.tech
2024-01-16 16:10:56 +01:00
Kevin Trogant
448d448430
started work on pipeline parsing
2024-01-16 16:03:30 +01:00
Kevin Trogant
19f7e29215
Progress on assetc
2023-12-10 23:09:19 +01:00
Kevin Trogant
11ec5a0cd2
Various improvements
...
- Support static linking
- Buffer manager
2023-11-23 22:03:02 +01:00
Kevin Trogant
97adb0dffa
various updates
2023-11-22 11:23:52 +01:00
Kevin Trogant
6937e55888
feat: create vulkan swapchain
2023-10-25 23:24:04 +02: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
fef087c906
merged vk/init.c
2023-10-17 23:00:07 +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