From 25e5dd3951e8cc7827761ea8ba2f5206b354d855 Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Tue, 23 Mar 2021 21:57:51 -0400 Subject: Working WebGl abstraction layer and build process --- frontend/2d/_collisions/pill_line/main.cpp | 58 ++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 frontend/2d/_collisions/pill_line/main.cpp (limited to 'frontend/2d/_collisions/pill_line/main.cpp') diff --git a/frontend/2d/_collisions/pill_line/main.cpp b/frontend/2d/_collisions/pill_line/main.cpp new file mode 100644 index 0000000..6f85ccc --- /dev/null +++ b/frontend/2d/_collisions/pill_line/main.cpp @@ -0,0 +1,58 @@ +#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"); + } +} \ No newline at end of file -- cgit v1.2.1