#pragma once #include "OpenGLRenderer.h" #include "ShaderTypes.h" #include #include class ShaderTextureBindings { public: using LayerProgram = OpenGLRenderer::LayerProgram; bool LoadTextureAsset(const ShaderTextureAsset& textureAsset, GLuint& textureId, std::string& error); void CreateTextBindings(const RuntimeRenderState& state, std::vector& textBindings); bool UpdateTextBindingTexture(const RuntimeRenderState& state, LayerProgram::TextBinding& textBinding, std::string& error); GLint FindSamplerUniformLocation(GLuint program, const std::string& samplerName) const; };