21 VulkanShader(
const std::string& vertexSrc,
const std::string& fragmentSrc, std::shared_ptr<UniformBufferObject> ubo);
24 virtual void Bind()
const override;
25 virtual void UnBind()
const override;
27 std::vector<uint32_t> Compile(
const std::string& src,
const std::string& source, EShLanguage lang);
29 virtual void GenerateUniformBufferObject()
override {}
30 virtual void BindUniformBufferObject()
override {}
31 void UploadUniformMat4(
const std::string& name,
const glm::mat4& matrix);
34 const std::vector<uint32_t>& GetVertSpirV()
const {
return vertSpirV; }
35 const std::vector<uint32_t>& GetFragSpirV()
const {
return fragSpirV; }
36 std::shared_ptr<VulkanUniformBuffer> GetUniformBufferObject()
const {
return m_UniformBufferObject; }
39 std::vector<uint32_t> vertSpirV;
40 std::vector<uint32_t> fragSpirV;
41 std::shared_ptr<VulkanUniformBuffer> m_UniformBufferObject;