#include "../../../shared_cpp/OrthographicRenderer.h" #include "../../../shared_cpp/types.h" #include "../../../shared_cpp/WebglContext.h" #include "../../../shared_cpp/mathlib.h" #include #include #include typedef OrthographicShape<3> TriangleShape; EM_BOOL onPlayClicked(int eventType, const EmscriptenMouseEvent* mouseEvent, void* userData); EM_BOOL onStopClicked(int eventType, const EmscriptenMouseEvent* mouseEvent, void* userData); EM_BOOL update(double time, void* userData); void *execute(void* vargp); int main() { WebglContext context; context.init("#gl_canvas"); OrthographicRenderer renderer; renderer.load(); TriangleShape shape; shape.vertices[0] = { Vector2 { -1, -1 }, Vector4 { 1, 0, 0, 1 } }; shape.vertices[1] = { Vector2 { 0, 1 }, Vector4{ 0, 1, 0, 1 } }; shape.vertices[2] = { Vector2 { 1, -1 }, Vector4 { 0, 0, 1, 1 } }; shape.load(&renderer); emscripten_set_click_callback("#gl_canvas_play", NULL, false, onPlayClicked); emscripten_set_click_callback("#gl_canvas_stop", NULL, false, onStopClicked); renderer.render(); shape.render(&renderer); return 0; } EM_BOOL onPlayClicked(int eventType, const EmscriptenMouseEvent* mouseEvent, void* userData) { return true; } EM_BOOL onStopClicked(int eventType, const EmscriptenMouseEvent* mouseEvent, void* userData) { return true; } EM_BOOL run(int eventType, const EmscriptenMouseEvent* mouseEvent, void* userData) { pthread_t thread_id; pthread_create(&thread_id, NULL, execute, NULL); return true; } void *execute(void* vargp) { while (true) { sleep(1); printf("Executing\n"); } }