This commit is contained in:
jacob 2026-04-06 11:24:46 -05:00
parent 179e79f7b7
commit 9d4e74f0b6

17
readme.md Normal file
View File

@ -0,0 +1,17 @@
### Building
---
Run `build.bat` from a terminal with MSVC/Clang available.
### Codebase structure
---
This codebase is organized into a series of layers with acyclic dependencies, denoted by the file tree and by namespacing in source code. The `.lay` files that exist alongside each layer specify these dependencies along with things like source files, CPU/GPU linkage information, and binary assets to embed with the layer. These files are parsed by the metaprogram (controlled by build.bat) in order to assemble the final executable. The base layer is the only layer that doesn't adhere to these rules, so that the metaprogram can itself depend on it.
Other than `.lay` files, there are three types of source files present:
* `.c`/`.h` C code
* `.g`/`.gh` HLSL code
* `.cg`/`.cgh` Combined C/HLSL code, mostly used to share structures/definitions for CPU <-> GPU communication
### Media
---
For project media, see https://projects.cagori.com/#power-play