summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md56
1 files changed, 19 insertions, 37 deletions
diff --git a/README.md b/README.md
index 4e47342..9a11669 100644
--- a/README.md
+++ b/README.md
@@ -1,30 +1,32 @@
# celeritas-core
-Celeritas is an engine 'core' written in C that acts as an extendable base layer for creating custom game-specific "engines" (frameworks).
-Celeritas Core focuses on rendering and platform abstractions, helpful wrappers around input handling, and common components needed by 3D game or interactive applications
-such as cameras, collision detection, etc.
-Bindings to Rust are WIP and other languages are planned for the future.
+Celeritas is an engine 'core' written in C that acts as an extendable base layer for creating custom game-specific "engines" (frameworks) or other
+multimedia libraries.
-Higher-level concepts can then be overlaid on top of this core!
+Celeritas Core focuses on rendering and platform abstractions, helpful wrappers around input handling, and common components needed by 3D game or interactive applications such as cameras, collision detection, etc.
-![Backpack model with lighting](examples/obj_loading/backpack_screenshot.png)
+Bindings to Rust are WIP and other languages are planned for the future.
-**Work-in-progress**: This code is currently in flux as I experiment with APIs and is ultimately intended to support a 3D game I'm in the process of making.
+Higher-level concepts can then be overlaid on top of this core!
All third-party dependencies are licensed under their own license.
-## Features
+## Goals
+
+- Easy to compile
+- Headless build + tests for reliability
+- Bindgen
+- Targets Vulkan 1.3 for simpler code
+- Plugin system (?)
-- Log level based logging
-- Arena allocator
-- Pool allocator
-- Physically based rendering (PBR)
-- GLTF loading
+Renderer Goals:
-#### RAL (Render Abstraction Layer)
-- [x] Buffer/texture creation
-- [x] Graphics pipeline creation/deletion
-- [ ] Compute shader pipeline creation/deletion/run
+- Cascading Shadow Maps
+- PBR (Filament)
+- GI
+- Forward+
+- Water
+- Terrain
## Developing
@@ -34,24 +36,4 @@ All third-party dependencies are licensed under their own license.
* `nm -C build/libcore.a`
* Generate compiler_commands.json
* `xmake project -k compile_commands`
-* Formatting
- * `xmake format`
- * Lint (no change) `find src/ -iname *.h -o -iname *.c | xargs clang-format --style=file --dry-run --Werror`
- * Format (edit in place) `find src/ \( -iname "*.h" -o -iname "*.c" \) | xargs clang-format -i --style=file`
- * `clang-format` must be installed!
-* Documentation
- * serve mkdocs locally
- * `docker run --rm -it -p 8000:8000 -v ${PWD}:/docs squidfunk/mkdocs-material`
- * Build docs static site
- * `docker run --rm -it -v ${PWD}:/docs squidfunk/mkdocs-material build`
-
-
-#### Logistics
-
-- [ ] Replace screenshot with one using PBR + skybox + shadows
-- [ ] Update website
-- [ ] Check licenses of assets currently in `assets` folder
-
-## Questions
-- How to expose material properties in the immediate mode UI?