From 19defa9be56588803bbae0f38e2f271a91b9d690 Mon Sep 17 00:00:00 2001 From: mattkae Date: Sat, 22 Jan 2022 13:03:12 -0500 Subject: Rendering the square for the spring rectangle --- 2d/softbody/softbody_2/main.cpp | 69 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 2d/softbody/softbody_2/main.cpp (limited to '2d/softbody/softbody_2/main.cpp') diff --git a/2d/softbody/softbody_2/main.cpp b/2d/softbody/softbody_2/main.cpp new file mode 100644 index 0000000..80686f9 --- /dev/null +++ b/2d/softbody/softbody_2/main.cpp @@ -0,0 +1,69 @@ +#include "../../../shared_cpp/WebglContext.h" +#include "../../../shared_cpp/Renderer2d.h" +#include "../../../shared_cpp/types.h" +#include "../../../shared_cpp/mathlib.h" +#include "../../../shared_cpp/MainLoop.h" +#include +#include +#include +#include "SpringRectangle.h" + +WebglContext context; +Renderer2d renderer; +MainLoop mainLoop; +SoftbodyRectangle rectangle; + +void load(); +EM_BOOL onPlayClicked(int eventType, const EmscriptenMouseEvent* mouseEvent, void* userData); +EM_BOOL onStopClicked(int eventType, const EmscriptenMouseEvent* mouseEvent, void* userData); +void unload(); +void update(float32 deltaTimeSeconds, void* userData); + +int main() { + emscripten_set_click_callback("#gl_canvas_play", NULL, false, onPlayClicked); + emscripten_set_click_callback("#gl_canvas_stop", NULL, false, onStopClicked); + return 0; +} + +EM_BOOL onPlayClicked(int eventType, const EmscriptenMouseEvent* mouseEvent, void* userData) { + printf("Play clicked\n"); + load(); + return true; +} + +EM_BOOL onStopClicked(int eventType, const EmscriptenMouseEvent* mouseEvent, void* userData) { + printf("Stop clicked\n"); + unload(); + return true; +} + +void load() { + context.init("#gl_canvas"); + renderer.load(&context); + rectangle.load(&renderer); + mainLoop.run(update); +} + +void update(float32 deltaTimeSeconds, void* userData) { + // -- Update + + // -- Render + renderer.render(); + rectangle.render(&renderer); +} + +void unload() { + mainLoop.stop(); + renderer.unload(); + context.destroy(); + rectangle.unload(); +} + + +// +// Interactions with DOM handled here +// + +extern "C" { + +} -- cgit v1.2.1