feat: add rasterization pipeline

This commit is contained in:
2026-03-04 20:01:06 +05:30
parent faa3f941d0
commit d57b2e2114
9 changed files with 163 additions and 72 deletions

View File

@@ -27,7 +27,12 @@ typedef struct {
double radius;
} VektorCircle;
typedef enum { LINE, POLYLINE, POLYGON, CIRCLE } VektorPrimitiveKind;
typedef enum {
VEKTOR_LINE,
VEKTOR_POLYLINE,
VEKTOR_POLYGON,
VEKTOR_CIRCLE
} VektorPrimitiveKind;
typedef struct {
VektorPrimitiveKind kind;
@@ -39,7 +44,7 @@ typedef struct {
};
} VektorPrimitive;
VektorPolyline* vektor_polyline_new(void);
VektorPolyline *vektor_polyline_new(void);
void vektor_polyline_add_point(VektorPolyline *pl, V2 point);
void vektor_polyline_free(VektorPolyline *pl);
@@ -47,4 +52,13 @@ VektorPolygon *vektor_polygon_new(void);
void vektor_polygon_add_point(VektorPolygon *pl, V2 point);
void vektor_polygon_free(VektorPolygon *pl);
typedef struct {
VektorPrimitive *primitives;
size_t count;
size_t capacity;
} VektorPrimitiveBuffer;
void vektor_primitivebuffer_add_primitive(VektorPrimitiveBuffer *edges,
VektorPrimitive edge);
#endif // PRIMITIVES_H_