diff --git a/include/akgl/stage.h b/include/akgl/stage.h new file mode 100644 index 0000000..e5d8c19 --- /dev/null +++ b/include/akgl/stage.h @@ -0,0 +1,14 @@ +#ifndef _STAGE_H_ +#define _STAGE_H_ + +// Stages are collections of lights and cameras in a 2D or 3D space wherein actors +// and backgrounds are placed and directed for action. +typedef struct akgl_Stage { + aksl_TreeNode bsp; + akerr_ErrorContext AKERR_NOIGNORE *(*partition)(struct akgl_Stage *self); +} akgl_Stage; + +// A function to divide the stage into a binary space partition tree with lists of actors in each partition +akerr_ErrorContext AKERR_NOIGNORE akgl_stage_2d_bsp(akgl_Stage *self); + +#endif _STAGE_H_