Closed IvaOsi closed 1 year ago
Hello! Thanks for awesome work!
Do you have an example code below, but for the SDL2?
#define JC_VORONOI_IMPLEMENTATION #include "jc_voronoi.h" void draw_edges(const jcv_diagram* diagram); void draw_cells(const jcv_diagram* diagram); void generate_and_draw(int numpoints, const jcv_point* points, int imagewidth, int imageheight) { jcv_diagram diagram; memset(&diagram, 0, sizeof(jcv_diagram)); jcv_diagram_generate(count, points, 0, 0, &diagram ); draw_edges(diagram); draw_cells(diagram); jcv_diagram_free( &diagram ); } void draw_edges(const jcv_diagram* diagram) { // If all you need are the edges const jcv_edge* edge = jcv_diagram_get_edges( diagram ); while( edge ) { draw_line(edge->pos[0], edge->pos[1]); edge = jcv_diagram_get_next_edge(edge); } } void draw_cells(const jcv_diagram* diagram) { // If you want to draw triangles, or relax the diagram, // you can iterate over the sites and get all edges easily const jcv_site* sites = jcv_diagram_get_sites( diagram ); for( int i = 0; i < diagram->numsites; ++i ) { const jcv_site* site = &sites[i]; const jcv_graphedge* e = site->edges; while( e ) { draw_triangle( site->p, e->pos[0], e->pos[1]); e = e->next; } } }
I'm afraid not. This example code is just an example of how to use the generated data.
You should look at your desired library for detailed info how to render triangles/lines.
Hello! Thanks for awesome work!
Do you have an example code below, but for the SDL2?