diff options
| author | Claudius "keldu" Holeksa <mail@keldu.de> | 2026-01-10 23:20:05 +0100 |
|---|---|---|
| committer | Claudius "keldu" Holeksa <mail@keldu.de> | 2026-01-10 23:20:05 +0100 |
| commit | 1563ca95b44ea3e0f7384bc3109f366ed761668f (patch) | |
| tree | a721eafa2955737a467b6bff7df78569d7f29a4c /util/ogl_renderer/c++/lbm_ogl_renderer.cpp | |
| parent | 393e58b20ece6c9d24af432299dfab6be2402ba8 (diff) | |
| download | libs-lbm-1563ca95b44ea3e0f7384bc3109f366ed761668f.tar.gz | |
Minor renderer for particles
Diffstat (limited to 'util/ogl_renderer/c++/lbm_ogl_renderer.cpp')
| -rw-r--r-- | util/ogl_renderer/c++/lbm_ogl_renderer.cpp | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/util/ogl_renderer/c++/lbm_ogl_renderer.cpp b/util/ogl_renderer/c++/lbm_ogl_renderer.cpp new file mode 100644 index 0000000..b8b687d --- /dev/null +++ b/util/ogl_renderer/c++/lbm_ogl_renderer.cpp @@ -0,0 +1,60 @@ +#include <kel/lbm/lbm.hpp> + +#include "state.hpp" + +namespace kel { +namespace lbm { +namespace sch { +using namespace saw::schema; +} + +} + +saw::error_or<void> lbm_main(int argc, char** argv){ + auto eo_state = lbm::create_ogl_renderer(); + if(eo_state.is_error()){ + return std::move(eo_state.get_error()); + } + auto& state = *(eo_state.get_value()); + + bool running{true}; + while(running){ + state.clear(); + glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_INT, 0); + SDL_GL_SwapWindow(state.window); + + SDL_Event event; + while(SDL_PollEvent(&event)){ + switch(event.type){ + case SDL_EVENT_QUIT: + running = false; + break; + case SDL_EVENT_KEY_UP: + if(event.key.key== SDLK_ESCAPE){ + running = false; + } + break; + default: + break; + } + } + } + + return saw::make_void(); +} +} + +int main(int argc, char** argv){ + auto eov = kel::lbm_main(argc, argv); + if(eov.is_error()){ + auto& err = eov.get_error(); + std::cerr<<"[Error] "<<err.get_category(); + auto err_msg = err.get_message(); + if(err_msg.size() > 0u){ + std::cerr<<" - "<<err_msg; + } + std::cerr<<std::endl; + return err.get_id(); + } + return 0; +} |
