Files
TSE/TSE_OpenGlImpl/src/shader/basicShader.hpp

26 lines
731 B
C++

#pragma once
#include "Shader.hpp"
namespace TSE::OpenGL
{
class BasicShader : public Shader
{
private:
static BasicShader* instance;
public:
static BasicShader* Instance();
static void Destroy();
static void Init(float width, float height);
BasicShader(std::vector<std::unique_ptr<ShaderPart>>&& parts);
protected:
void OnEnable() const override;
void OnDisable() const override;
void OnFlush() override;
void OnDrawCall(int indexCount) override;
void OnSubmit(const Transformable& t, float*& target, TransformationStack& stack, void (*restartDrawcall)(IRenderer&), IRenderer& rnd) override;
};
} // namespace TSE::OpenGL