1
0
mirror of https://github.com/blawar/GLideN64.git synced 2024-07-04 10:03:36 +00:00
GLideN64/src/Graphics/ShaderProgram.h
2019-11-30 15:31:43 +07:00

35 lines
997 B
C++

#pragma once
#include <Types.h>
#include "CombinerProgram.h"
namespace graphics {
class ShaderProgram : public CombinerProgram
{
public:
virtual ~ShaderProgram() {}
void update(bool _force) override {}
const CombinerKey & getKey() const override { return CombinerKey::getEmpty(); }
bool usesTexture() const override {return true;}
virtual bool usesTile(u32 _t) const override {return _t == 0 ? true : false;}
virtual bool usesShade() const override {return false;}
virtual bool usesLOD() const override {return false;}
virtual bool usesHwLighting() const override {return false;}
virtual bool getBinaryForm(std::vector<char> & _buffer) override {return false;}
};
class TexrectDrawerShaderProgram : public ShaderProgram
{
public:
virtual void setTextureSize(u32 _width, u32 _height) = 0;
virtual void setEnableAlphaTest(int _enable) = 0;
};
class TextDrawerShaderProgram : public ShaderProgram
{
public:
virtual void setTextColor(float * _color) = 0;
};
}