Definition Files
In Cacao Engine, shaders and cubemaps are defined by definition files. These are special YAML files giving all necessary info about these assets.
Shader Definition File Attributes
vertex
: Path from the working directory (set inlaunchconfig.cacao.yml
) to the SPIR-V vertex shaderfragment
: Path from the working directory (set inlaunchconfig.cacao.yml
) to the SPIR-V fragment shaderspec
: The shader specification, a list of shader entries.
Shader Entry Attributes
name
: The name of the entry in the shader codetype
: The data type, one ofbool
,int
,uint
,float
, ortexture
sizex
: The horizontal size of the entry. For example: a GLSLvec3
has asizex
value of 3, because it has three columns.sizey
: The vertical size of the entry. For example: a GLSLmat4
has asizey
value of 4, because it has four rows.
Cubemap Definition File Attributes
All items are paths from the working directory (set in launchconfig.cacao.yml
) to the desired image.
x+
: The image in the positive X direction (typically right)x-
: The image in the negative X direction (typically left)y+
: The image in the positive Y direction (typically up)y-
: The image in the negative Y direction (typically down)z+
: The image in the positive Z direction (typically forward)z-
: The image in the negative Z direction (typically backward)
WARNING: Cubemap textures should be flipped so that what you want to see at the top is at the bottom of the image. Otherwise, things will look disjointed.