/************************************************************//** * * @file: mtl_shader.h * @author: Martin Fouilleul * @date: 01/08/2022 * @revision: * *****************************************************************/ #ifndef __MTL_RENDERER_H_ #define __MTL_RENDERER_H_ #include #define RENDERER_TILE_BUFFER_SIZE 4096 #define RENDERER_TILE_SIZE 16 #define RENDERER_MAX_TILES 65536 #define RENDERER_DEBUG_TILE_VISITED 0xf00d #define RENDERER_DEBUG_TILE_BUFFER_OVERFLOW 0xdead typedef struct mg_vertex { vector_float4 cubic; // canonical implicit curve space coordinates vector_float2 pos; // position int zIndex; } mg_vertex; typedef struct mg_shape { vector_float4 color; vector_float4 clip; vector_float2 uv; // texture coordinates } mg_shape; typedef struct mg_triangle_data { uint i0; uint i1; uint i2; uint zIndex; vector_float2 p0; vector_float2 p1; vector_float2 p2; int bias0; int bias1; int bias2; } mg_triangle_data; #endif //__MTL_RENDERER_H_