1
0
mirror of https://github.com/blawar/GLideN64.git synced 2024-07-07 03:13:49 +00:00
GLideN64/src/Graphics/CombinerProgram.h
Sergey Lipskiy 365838eddc Fixed problem with combiners shaders generation:
Parts of shaders code created on start. Some parts depend on config options.
When config changed with GUI shaders updated but code parts not updated.
Thus new shaders do not correspond to current state of config.
2017-10-29 16:49:05 +07:00

30 lines
664 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 usesHwLighting() const = 0;
virtual bool getBinaryForm(std::vector<char> & _buffer) = 0;
static u32 getShaderCombinerOptionsBits();
};
typedef std::map<CombinerKey, graphics::CombinerProgram *> Combiners;
}