2022-04-04 19:44:25 +02:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "../defines.hpp"
|
2022-06-30 12:39:10 +02:00
|
|
|
#include <unordered_map>
|
2022-04-04 19:44:25 +02:00
|
|
|
|
|
|
|
class CShader {
|
2022-12-16 18:17:31 +01:00
|
|
|
public:
|
2022-08-11 20:33:35 +02:00
|
|
|
~CShader();
|
|
|
|
|
2023-06-14 13:29:12 +02:00
|
|
|
GLuint program = 0;
|
|
|
|
GLint proj = -1;
|
|
|
|
GLint color = -1;
|
2023-11-04 14:10:52 +01:00
|
|
|
GLint alphaMatte = -1;
|
2023-06-14 13:29:12 +02:00
|
|
|
GLint tex = -1;
|
|
|
|
GLint alpha = -1;
|
|
|
|
GLint posAttrib = -1;
|
|
|
|
GLint texAttrib = -1;
|
2023-11-04 14:10:52 +01:00
|
|
|
GLint matteTexAttrib = -1;
|
2023-06-14 13:29:12 +02:00
|
|
|
GLint discardOpaque = -1;
|
|
|
|
GLint discardAlpha = -1;
|
|
|
|
GLfloat discardAlphaValue = -1;
|
|
|
|
|
|
|
|
GLint topLeft = -1;
|
|
|
|
GLint bottomRight = -1;
|
|
|
|
GLint fullSize = -1;
|
|
|
|
GLint fullSizeUntransformed = -1;
|
|
|
|
GLint radius = -1;
|
2023-10-19 15:04:50 +02:00
|
|
|
GLint radiusOuter = -1;
|
2023-06-14 13:29:12 +02:00
|
|
|
|
|
|
|
GLint thick = -1;
|
|
|
|
|
|
|
|
GLint halfpixel = -1;
|
|
|
|
|
2023-11-04 14:10:52 +01:00
|
|
|
GLint range = -1;
|
|
|
|
GLint shadowPower = -1;
|
|
|
|
GLint useAlphaMatte = -1; // always inverted
|
2023-06-14 13:29:12 +02:00
|
|
|
|
|
|
|
GLint applyTint = -1;
|
|
|
|
GLint tint = -1;
|
|
|
|
|
|
|
|
GLint gradient = -1;
|
|
|
|
GLint gradientLength = -1;
|
|
|
|
GLint angle = -1;
|
|
|
|
|
2024-02-04 03:30:00 +01:00
|
|
|
GLint time = -1;
|
|
|
|
GLint distort = -1;
|
|
|
|
GLint wl_output = -1;
|
2023-03-05 15:05:30 +01:00
|
|
|
|
2023-11-06 19:49:03 +01:00
|
|
|
// Blur prepare
|
|
|
|
GLint contrast = -1;
|
2023-08-03 15:11:10 +02:00
|
|
|
|
2023-11-06 19:49:03 +01:00
|
|
|
// Blur
|
|
|
|
GLint passes = -1; // Used by `vibrancy`
|
|
|
|
GLint vibrancy = -1;
|
|
|
|
GLint vibrancy_darkness = -1;
|
2022-06-30 12:39:10 +02:00
|
|
|
|
2023-11-06 19:49:03 +01:00
|
|
|
// Blur finish
|
|
|
|
GLint brightness = -1;
|
|
|
|
GLint noise = -1;
|
|
|
|
|
|
|
|
GLint getUniformLocation(const std::string&);
|
|
|
|
|
|
|
|
void destroy();
|
2022-12-01 14:36:07 +01:00
|
|
|
|
2022-12-16 18:17:31 +01:00
|
|
|
private:
|
2022-06-30 12:39:10 +02:00
|
|
|
std::unordered_map<std::string, GLint> m_muUniforms;
|
2022-04-04 19:44:25 +02:00
|
|
|
};
|