@@ -36,35 +36,27 @@ static const char *TEXTURE_UNIT_UNIFORM = "u_skin";
36
36
static const char *SKIN_SIZE_UNIFORM = " u_skinSize" ;
37
37
38
38
static const std::unordered_map<ShaderManager::Effect, const char *> EFFECT_TO_NAME = {
39
- { ShaderManager::Effect::Color, " color" },
40
- { ShaderManager::Effect::Brightness, " brightness" },
41
- { ShaderManager::Effect::Ghost, " ghost" },
42
- { ShaderManager::Effect::Fisheye, " fisheye" },
43
- { ShaderManager::Effect::Whirl, " whirl" }
39
+ { ShaderManager::Effect::Color, " color" }, { ShaderManager::Effect::Brightness, " brightness" }, { ShaderManager::Effect::Ghost, " ghost" },
40
+ { ShaderManager::Effect::Fisheye, " fisheye" }, { ShaderManager::Effect::Whirl, " whirl" }, { ShaderManager::Effect::Pixelate, " pixelate" }
44
41
};
45
42
46
43
static const std::unordered_map<ShaderManager::Effect, const char *> EFFECT_UNIFORM_NAME = {
47
- { ShaderManager::Effect::Color, " u_color" },
48
- { ShaderManager::Effect::Brightness, " u_brightness" },
49
- { ShaderManager::Effect::Ghost, " u_ghost" },
50
- { ShaderManager::Effect::Fisheye, " u_fisheye" },
51
- { ShaderManager::Effect::Whirl, " u_whirl" }
44
+ { ShaderManager::Effect::Color, " u_color" }, { ShaderManager::Effect::Brightness, " u_brightness" }, { ShaderManager::Effect::Ghost, " u_ghost" },
45
+ { ShaderManager::Effect::Fisheye, " u_fisheye" }, { ShaderManager::Effect::Whirl, " u_whirl" }, { ShaderManager::Effect::Pixelate, " u_pixelate" }
52
46
};
53
47
54
48
static const std::unordered_map<ShaderManager::Effect, ConverterFunc> EFFECT_CONVERTER = {
55
49
{ ShaderManager::Effect::Color, [](float x) { return wrapClamp (x / 200 .0f , 0 .0f , 1 .0f ); } },
56
50
{ ShaderManager::Effect::Brightness, [](float x) { return std::clamp (x, -100 .0f , 100 .0f ) / 100 .0f ; } },
57
51
{ ShaderManager::Effect::Ghost, [](float x) { return 1 - std::clamp (x, 0 .0f , 100 .0f ) / 100 .0f ; } },
58
52
{ ShaderManager::Effect::Fisheye, [](float x) { return std::max (0 .0f , (x + 100 .0f ) / 100 .0f ); } },
59
- { ShaderManager::Effect::Whirl, [](float x) { return x * (float )pi / 180 .0f ; } }
53
+ { ShaderManager::Effect::Whirl, [](float x) { return x * (float )pi / 180 .0f ; } },
54
+ { ShaderManager::Effect::Pixelate, [](float x) { return std::abs (x) / 10 .0f ; } }
60
55
};
61
56
62
57
static const std::unordered_map<ShaderManager::Effect, bool > EFFECT_SHAPE_CHANGES = {
63
- { ShaderManager::Effect::Color, false },
64
- { ShaderManager::Effect::Brightness, false },
65
- { ShaderManager::Effect::Ghost, false },
66
- { ShaderManager::Effect::Fisheye, true },
67
- { ShaderManager::Effect::Whirl, true }
58
+ { ShaderManager::Effect::Color, false }, { ShaderManager::Effect::Brightness, false }, { ShaderManager::Effect::Ghost, false },
59
+ { ShaderManager::Effect::Fisheye, true }, { ShaderManager::Effect::Whirl, true }, { ShaderManager::Effect::Pixelate, true }
68
60
};
69
61
70
62
Q_GLOBAL_STATIC (ShaderManager, globalInstance)
0 commit comments