diff options
| author | Felix Dick <felix.dick@web.de> | 2022-09-29 06:56:17 +0200 |
|---|---|---|
| committer | Felix Dick <felix.dick@web.de> | 2022-09-29 06:56:17 +0200 |
| commit | 65fb526d5c3ef0bfab83f6fdc2e69270c4522448 (patch) | |
| tree | 49ec8ec76fcfa3273a2aca8c70fe85ba2582bbc4 /src/render | |
| parent | 0549aa193f39e5f868eb9efcdb0532ebe9387e49 (diff) | |
Even less branching (taken more or less from the border shader).
Diffstat (limited to 'src/render')
| -rw-r--r-- | src/render/shaders/Textures.hpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/render/shaders/Textures.hpp b/src/render/shaders/Textures.hpp index 50a68e02..a541ec0a 100644 --- a/src/render/shaders/Textures.hpp +++ b/src/render/shaders/Textures.hpp @@ -22,15 +22,15 @@ inline static constexpr auto ROUNDED_SHADER_FUNC = [](const std::string colorVar if (primitiveMultisample == 1 && dist > radius - 1.0) { float distances = 0.0; - if (length(pixCoord + vec2(0.25, 0.25)) < radius) { distances = distances + 1.0; } - if (length(pixCoord + vec2(0.75, 0.25)) < radius) { distances = distances + 1.0; } - if (length(pixCoord + vec2(0.25, 0.75)) < radius) { distances = distances + 1.0; } - if (length(pixCoord + vec2(0.75, 0.75)) < radius) { distances = distances + 1.0; } + distances += float(length(pixCoord + vec2(0.25, 0.25)) < radius); + distances += float(length(pixCoord + vec2(0.75, 0.25)) < radius); + distances += float(length(pixCoord + vec2(0.25, 0.75)) < radius); + distances += float(length(pixCoord + vec2(0.75, 0.75)) < radius); if (distances == 0.0) discard; - distances = distances / 4.0; + distances /= 4.0; )#" + colorVarName + R"#( = )#" + colorVarName + R"#( * distances; } |
