1
0
mirror of https://github.com/blawar/GLideN64.git synced 2024-07-04 10:03:36 +00:00
GLideN64/src/Graphics/CombinerProgram.h
2017-01-10 22:22:37 +07:00

29 lines
651 B
C++

#pragma once
#include <map>
#include <vector>
#include "CombinerKey.h"
namespace graphics {
class CombinerProgram
{
public:
virtual ~CombinerProgram() {}
virtual void activate() = 0;
virtual void update(bool _force) = 0;
virtual CombinerKey getKey() const = 0;
virtual bool usesTexture() const = 0;
virtual bool usesTile(u32 _t) const = 0;
virtual bool usesShade() const = 0;
virtual bool usesLOD() const = 0;
virtual bool getBinaryForm(std::vector<char> & _buffer) = 0;
static void getShaderCombinerOptionsSet(std::vector<u32> & _vecOptions);
};
typedef std::map<CombinerKey, graphics::CombinerProgram *> Combiners;
}