summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoromniscient <17525998+omnisci3nce@users.noreply.github.com>2024-10-05 13:30:09 +1000
committeromniscient <17525998+omnisci3nce@users.noreply.github.com>2024-10-05 13:30:09 +1000
commit5d2b7e95d9466ddb5118beddb532e2c2daad5c7d (patch)
tree6a40751c22605a334845c24b8eda04016cc1a73a
parent4248ca9d432f33e18baf4ce193d1a9b7f7d1e9a9 (diff)
add goals to readme
-rw-r--r--README.md56
-rw-r--r--default_scene.json1
2 files changed, 19 insertions, 38 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?
diff --git a/default_scene.json b/default_scene.json
deleted file mode 100644
index fda2c94..0000000
--- a/default_scene.json
+++ /dev/null
@@ -1 +0,0 @@
-{"sun":{"direction":{"x":0.0,"y":1.0,"z":0.0},"ambient":{"x":1.0,"y":1.0,"z":1.0},"diffuse":{"x":1.0,"y":1.0,"z":1.0},"specular":{"x":0.0,"y":0.0,"z":0.0}},"point_lights":[null,null,null,null],"camera_orientation":[{"x":18.9,"y":10.6,"z":11.6},{"x":-0.6,"y":-0.2,"z":-0.7}],"models":[]} \ No newline at end of file