#include "../backend.h" #include "../ve_renderer.h" #define WINDOW_HEIGHT 480 #define WINDOW_WIDTH 640 int main(int argc, char **argv) { ve_context ctx; if (!backend_init(&ctx, "Rgba Triangles", WINDOW_WIDTH, WINDOW_HEIGHT)) { return 1; } Color black = RGB(0, 0, 0); Color red = COLOR(255, 0, 0, 90); Color green = COLOR(0, 255, 0, 90); Color blue = COLOR(0, 0, 255, 90); V2 p0 = {380, 80}; V2 p1 = {120, 400}; V2 p2 = {520, 400}; V2 v0 = {380, 80}; V2 v1 = {120, 400}; V2 v2 = {520, 400}; V2 u0 = {380, 80}; V2 u1 = {120, 400}; V2 u2 = {520, 400}; V2 center = {WINDOW_WIDTH / 2.0f, WINDOW_HEIGHT / 2.0f}; while (backend_event_loop(&ctx)) { p0 = v2_rotate(p0, center, 0.1f * ctx.dt); p1 = v2_rotate(p1, center, 0.1f * ctx.dt); p2 = v2_rotate(p2, center, 0.1f * ctx.dt); v0 = v2_rotate(v0, center, -0.1f * ctx.dt); v1 = v2_rotate(v1, center, -0.1f * ctx.dt); v2 = v2_rotate(v2, center, -0.1f * ctx.dt); u0 = v2_rotate(u0, center, 0.2f * ctx.dt); u1 = v2_rotate(u1, center, 0.2f * ctx.dt); u2 = v2_rotate(u2, center, 0.2f * ctx.dt); ve_clear(&ctx.ve_fb, black); ve_render_fps(&ctx); ve_draw_triangle(&ctx.ve_fb, p0, p1, p2, red); ve_draw_triangle(&ctx.ve_fb, v0, v1, v2, blue); ve_draw_triangle(&ctx.ve_fb, u0, u1, u2, green); }; return 0; }