Commit Graph

45 Commits

Author SHA1 Message Date
Kevin Trogant
f232a94f92 feat: Launcher application that loads the game and creates the window 2024-07-23 16:04:56 +02:00
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
92fbe1ece4 refactor(build): Using meson devenv makes copying libgcc unnecessary while cross-compiling
All checks were successful
Ubuntu Cross to Win64 / Cross Compile with ming64 (1.4.0, ubuntu-latest) (push) Successful in 2m13s
2024-07-23 10:49:39 +02:00
Kevin Trogant
14138b4933 Merge branch 'main' of https://libneat.hopto.org/git/kevin/rtengine
Some checks failed
Ubuntu Cross to Win64 / Cross Compile with ming64 (1.4.0, ubuntu-latest) (push) Failing after 1m18s
2024-07-19 10:31:30 +02:00
Kevin Trogant
4e02d43514 Add early config file parsing
Also cleaned up contrib/ and made lz4 and xxhash subprojects installed
via wrap.
2024-07-19 10:30:50 +02:00
Kevin Trogant
8f52ea3d3a Fixed linux -> windows cross compilation
Some checks failed
Ubuntu Cross to Win64 / Cross Compile with ming64 (1.4.0, ubuntu-latest) (push) Failing after 1m32s
2024-07-16 11:48:28 +02:00
Kevin Trogant
09c14a8809 WIP meshlets experiment 2024-07-15 16:34:39 +02:00
Kevin Trogant
1b4a17f01a Get it to compile again 2024-06-05 11:54:35 +02:00
Kevin Trogant
2035f73f3e init dx11 and basic present 2024-04-02 19:47:28 +02: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
424345374f Rename project
This is more the engine than the game project.
It's possible that the game will go into a separate repository at some
point.
2024-02-28 08:44:35 +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
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
0b6e855cef Remove packages.h/.c from meson.build 2024-02-04 17:29:01 +01:00
Kevin Trogant
cfec746545 Implement resource compression 2024-02-04 17:26:51 +01:00
Kevin Trogant
9670844bb2 Move towards using DXC for compiling shaders
This is recommended by the vulkan documentation.
2024-01-25 23:33:29 +01:00
Kevin Trogant
3254af3786 Make progress towards the new builtin asset compiler
Attempts to compile HLSL shaders (with includes)
2024-01-25 09:45:23 +01:00
Kevin Trogant
94f95157fe build config for integrated asset compiler 2024-01-16 17:44:03 +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
d5ab965d64 Add missing dynamic_libs.c to meson.build 2023-12-31 02:29:31 +01:00
Kevin Trogant
275f3b65f8 Untested asset cache
- Added read-write lock implementation
2023-12-31 02:16:29 +01:00
Kevin Trogant
5a4177c4dc assetc complete "lifetime"
- Add unchanged assets to packages
- Allows re-runs without messing up the data
- Inefficient: unchanged assets need to be loaded & kept in memory
2023-12-22 00:25:27 +01:00
Kevin Trogant
0c89d63716 load runtime asset dependency data
removed init/shutdown functions from headers.
2023-12-21 00:19:48 +01:00
Kevin Trogant
213638009b tracking asset dependencies 2023-12-12 10:58:09 +01:00
Kevin Trogant
19f7e29215 Progress on assetc 2023-12-10 23:09:19 +01:00
Kevin Trogant
4a0231a79b fix meson.build and remove unnecessary subprojects directory 2023-11-24 14:00:35 +01:00
Kevin Trogant
ae50c45a18 Multiple asset processors
- Added a (stub) for shader files
2023-11-24 13:59:38 +01:00
Kevin Trogant
9f3f40249f Started building the asset compiler 2023-11-24 00:43:35 +01:00
Kevin Trogant
11ec5a0cd2 Various improvements
- Support static linking
- Buffer manager
2023-11-23 22:03:02 +01:00
Kevin Trogant
937ca92d9f Remove fio 2023-11-22 15:21:11 +01:00
Kevin Trogant
1a4a2109ca feat: async io for windows
Submit async-io to the OS.
Next step is replacing all FIO calls with async-io and removing the old
code.
2023-11-22 14:25:37 +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
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
Kevin Trogant
63e3f973b2 feat: config variables, mutex abstraction
- Mutex abstraction (create, destroy, lock, unlock)
- Config variables (cvars)
2023-10-14 00:15:05 +02:00
Kevin Trogant
1dba3d2d63 fix, feat: various issues
- [win32] FIO thread no longer hangs during application exit
- Signal if a file operation was actually successfull.
- Add a logging function (currently identical to vyReportError)
2023-10-13 23:15:23 +02:00
Kevin Trogant
d8e4480819 pre-git state 2023-10-11 22:23:26 +02:00