metaforce/hecl
Jack Andersen 29fd504475 Initial system location finder (unix only) 2016-01-01 16:27:17 -10:00
..
bintoc addon distribution changes 2015-09-01 16:31:33 -10:00
blender windows enum refactor fixes 2015-11-20 16:59:43 -10:00
driver Athena error handling tweak 2015-11-22 17:09:46 -10:00
extern Initial system location finder (unix only) 2016-01-01 16:27:17 -10:00
extra added extract tool 2015-06-11 23:08:49 -10:00
include/HECL Initial system location finder (unix only) 2016-01-01 16:27:17 -10:00
lib Initial system location finder (unix only) 2016-01-01 16:27:17 -10:00
test Update boo 2015-12-17 17:25:53 -10:00
.gitignore addon distribution changes 2015-09-01 16:31:33 -10:00
.gitmodules Remove LogVisor (it's in extern/libBoo anyway) 2015-11-13 22:49:09 -08:00
CMakeLists.txt Major scoped-enum refactor 2015-11-20 15:13:06 -10:00
DataSpecRegistry.hpp.in DataSpecRegistry now generated by CMake 2015-08-17 12:15:23 -10:00
Doxyfile implemented lba VFS 2015-05-21 22:21:44 -10:00
LICENSE Changed LICENSE terms 2015-11-22 10:28:04 -10:00
README.md Create README.md 2015-12-16 14:24:53 -10:00
bootstrap.sh bootstrap tweak 2015-06-25 09:56:15 -10:00

README.md

HECL (high-level, extensible combiner language)

HECL is a toolkit for building custom asset pipelines, assisting the development of conversion tools and runtime loaders.

The most significant feature is the intermediate HECL language, using an expressive command syntax to represent cross-platform shaders. This includes a common source representation and intermediate binary representation. Complete vertex and fragment shader programs are generated for supported platforms and may be built on-demand as part of a 3D application runtime.

Beyond shaders, HECL also defines a rigged mesh format called HMDL. Meshes using this encoding interact with HECL, with pose transforms applied via the vertex shader.

For asset pipelines, HECL provides a project system with dependency-resolution much like an IDE or make. Assets in their editable representation are cooked in-bulk and whenever the source file is updated. Currently, blender is the only-supported input format for rigged meshes with node-materials.