From 44f5ac32a68a617f93704d44c4339f7db13b323e Mon Sep 17 00:00:00 2001 From: Adrian Kummerlaender Date: Sat, 15 Dec 2018 23:09:32 +0100 Subject: Hacky D2Q9 BGK LBM on GPU using GLSL compute shaders Improvised on top of computicles's scaffolding. Works in a world where _works_ is defined as "displays stuff on screen that invokes thoughts of fluid movement". --- src/shader/wrap/graphic_shader.h | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/shader/wrap/graphic_shader.h (limited to 'src/shader/wrap/graphic_shader.h') diff --git a/src/shader/wrap/graphic_shader.h b/src/shader/wrap/graphic_shader.h new file mode 100644 index 0000000..25a5efb --- /dev/null +++ b/src/shader/wrap/graphic_shader.h @@ -0,0 +1,29 @@ +#pragma once + +#include +#include + +#include +#include + +class GraphicShader { +private: + const GLuint _id; + +public: + struct Guard { + const GLuint _id; + + Guard(GLuint id); + ~Guard(); + }; + + Guard use() const; + + GraphicShader(const std::string& vertex, const std::string fragment); + ~GraphicShader(); + + GLuint setUniform(const std::string& name, int value) const; + GLuint setUniform(const std::string& name, const std::vector& v) const; + GLuint setUniform(const std::string& name, glm::mat4& M) const; +}; -- cgit v1.2.3