mirror of
https://github.com/love2d/love.git
synced 2026-08-17 11:00:31 +02:00
Add missing files
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
#ifndef LOVE_GRAPHICS_EFFECT_H
|
||||
#define LOVE_GRAPHICS_EFFECT_H
|
||||
|
||||
#include <common/Object.h>
|
||||
#include <string>
|
||||
#include <map>
|
||||
#include "Image.h"
|
||||
#include "Framebuffer.h"
|
||||
|
||||
namespace love
|
||||
{
|
||||
namespace graphics
|
||||
{
|
||||
namespace opengl
|
||||
{
|
||||
// A fragment shader
|
||||
class PixelEffect : public Volatile // Volatile?
|
||||
{
|
||||
public:
|
||||
PixelEffect(const std::string& code);
|
||||
virtual ~PixelEffect();
|
||||
std::string getWarnings() const;
|
||||
|
||||
virtual bool loadVolatile();
|
||||
virtual void unloadVolatile();
|
||||
|
||||
void attach();
|
||||
static void detach();
|
||||
static bool isSupported();
|
||||
|
||||
void sendFloat(const std::string& name, int count, const GLfloat* vec);
|
||||
void sendMatrix(const std::string& name, int size, const GLfloat* m);
|
||||
void sendImage(const std::string& name, const Image& image);
|
||||
void sendFramebuffer(const std::string& name, const Framebuffer& fb);
|
||||
|
||||
private:
|
||||
GLint getUniformLocation(const std::string& name);
|
||||
void checkSetUniformError();
|
||||
GLuint _program;
|
||||
std::string _code; // volatile and stuff
|
||||
|
||||
// texture unit pool for setting images
|
||||
static std::map<std::string, GLint> _texture_unit_pool;
|
||||
static GLint _current_texture_unit;
|
||||
static GLint _max_texture_units;
|
||||
static GLint getTextureUnit(const std::string& name);
|
||||
};
|
||||
|
||||
} // opengl
|
||||
} // graphics
|
||||
} // love
|
||||
|
||||
#endif // LOVE_GRAPHICS_EFFECT_H
|
||||
Reference in New Issue
Block a user