Files
FGL-Engine/README.md
2025-02-17 02:33:51 -05:00

67 lines
1.6 KiB
Markdown

Titor rendering engine.
- Written with c++23
- Vulkan Rendering API
- Uses Tracy profiling tool.
# TODO:
---
### 1. Components
#### 1.1 Models
- [ ] Polish model loading
- [ ] Add in editor model viewer (Render models as preview image)
---
### 2. Performance
- [ ] GPU object culling
- [ ] Better object storage tree
---
### 3. SLANG (CURRENT)
- [x] Convert all shaders to slang
- [x] Figure out SubpassInput grouping, If it's even possible(?)
- [x] Finish slang compilation
- [ ] Implement reflection testing
- [ ] Implement reflection assertions (Assert classes are expected sizes)
### 4. Physics
- [ ] Implement common physics functions
- [ ] Implement CPU raycasts
- [ ] Implement physics tick system
- [ ] Physics components
- [ ] Editor viewers for physics
### 5. Cameras
- [x] Verify multi-camera works
- [ ] Implement multi-camera viewer in editor
- [ ] Implement editor camera spawner
### 6. Editor
- [ ] Implement object spawner
- [ ] Implement component modification for objects
- [ ] Figure out how glTF does components saving/loading. If it even does?
Long term plans:
- [Nanite-like implementation.](https://dev.epicgames.com/documentation/en-us/unreal-engine/nanite-virtualized-geometry-in-unreal-engine?application_version=5.0)
- Explicit and strict VRAM targets for certain settings.
- Explicit model loading control. ( Allows for better control of model loading )
- Scripts ( Eventually )
- Multicore focus.
# Building
- Install vulkan sdk with vulkan 1.4 at minimum
- Clone w/ submodules
- `cmake -DCMAKE_BUILD_TYPE=Debug -B build`
- `cmake --build build -j<THREAD_COUNT>`