projects
/
demo
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
writing mesh data to GPU
[demo]
/
src
/
vulkan
/
shader-vk.h
diff --git
a/src/vulkan/shader-vk.h
b/src/vulkan/shader-vk.h
index
88e07bc
..
b9e4681
100644
(file)
--- a/
src/vulkan/shader-vk.h
+++ b/
src/vulkan/shader-vk.h
@@
-4,8
+4,10
@@
#include <string>
#include "shader.h"
#include <string>
#include "shader.h"
-class ShaderVK : public Shader
-{
+/* each shader program will correspond to a pipeline. The pipeline
+ * must have the cull, zbuffer etc since they can't be dynamic states */
+
+class ShaderVK : public Shader {
protected:
SType type;
std::string name;
protected:
SType type;
std::string name;
@@
-13,23
+15,28
@@
protected:
virtual bool create(char *buf, unsigned int bsz, const char *fname) override;
public:
virtual bool create(char *buf, unsigned int bsz, const char *fname) override;
public:
+ VkShaderModule sm;
+
ShaderVK();
virtual ~ShaderVK();
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
{
virtual void destroy() override;
};
class ShaderProgramVK : public ShaderProgram
{
+private:
+ VkPipeline gpipeline;
+
protected:
protected:
- /*ubo*/
public:
ShaderProgramVK();
virtual ~ShaderProgramVK();
virtual bool create() override;
public:
ShaderProgramVK();
virtual ~ShaderProgramVK();
virtual bool create() override;
+
virtual bool use() const override;
virtual bool link() override;
virtual void destroy() override;
virtual bool use() const override;
virtual bool link() override;
virtual void destroy() override;
@@
-49,4
+56,4
@@
public:
virtual void set_uniform_matrix(int location, const Mat4 &mat) override;
};
virtual void set_uniform_matrix(int location, const Mat4 &mat) override;
};
-#endif // SHADER_VK_H_
\ No newline at end of file
+#endif // SHADER_VK_H_