X-Git-Url: https://eleni.mutantstargoat.com/git/?p=demo;a=blobdiff_plain;f=src%2Fvulkan%2Fshader-vk.h;fp=src%2Fvulkan%2Fshader-vk.h;h=b9e46812bb6438673540cd7f1a5af25f0afccb7c;hp=1914a4f0bd1b41eb2a1f049b79a5cc2b1f68a27d;hb=855c42d8e50fff743fd7b1be5e91cb0db18def77;hpb=ecb47604bb2b8ab3ac5a133e78ef6cb19a20d9cc diff --git a/src/vulkan/shader-vk.h b/src/vulkan/shader-vk.h index 1914a4f..b9e4681 100644 --- a/src/vulkan/shader-vk.h +++ b/src/vulkan/shader-vk.h @@ -7,12 +7,7 @@ /* each shader program will correspond to a pipeline. The pipeline * must have the cull, zbuffer etc since they can't be dynamic states */ -struct Pipeline { - -}; - -class ShaderVK : public Shader -{ +class ShaderVK : public Shader { protected: SType type; std::string name; @@ -20,24 +15,28 @@ protected: virtual bool create(char *buf, unsigned int bsz, const char *fname) override; public: + VkShaderModule sm; + ShaderVK(); virtual ~ShaderVK(); - virtual bool load(const char *fname, SType type); + virtual bool load(const char *fname, SType type) override; virtual void destroy() override; }; class ShaderProgramVK : public ShaderProgram { +private: + VkPipeline gpipeline; + protected: - Pipeline pipeline; - /*ubo*/ public: ShaderProgramVK(); virtual ~ShaderProgramVK(); virtual bool create() override; + virtual bool use() const override; virtual bool link() override; virtual void destroy() override;