light/modules/renderer/private/gl/shader.hpp

25 lines
420 B
C++
Raw Normal View History

2021-05-27 19:54:05 +04:30
#pragma once
#include <renderer/shader.hpp>
2025-07-11 00:05:48 +03:30
namespace lt {
2021-05-27 19:54:05 +04:30
2022-03-04 22:40:20 +03:30
class glShader: public Shader
{
public:
2025-07-10 21:51:17 +03:30
glShader(const Ref<Assets::TextAsset> &vertex_asset, const Ref<Assets::TextAsset> &pixel_asset);
2025-07-05 16:07:51 +03:30
2025-07-06 16:52:50 +03:30
~glShader() override;
2021-05-27 19:54:05 +04:30
void bind() override;
2025-07-05 16:07:51 +03:30
void un_bind() override;
2022-03-04 22:40:20 +03:30
private:
unsigned int compile_shader(const std::string &source, Shader::Stage stage);
2025-07-05 16:07:51 +03:30
unsigned int m_shader_id { 0u };
2022-03-04 22:40:20 +03:30
};
2021-05-27 19:54:05 +04:30
2025-07-11 00:05:48 +03:30
} // namespace lt