diff options
| author | Mel <einebeere@gmail.com> | 2023-07-08 01:20:53 +0200 |
|---|---|---|
| committer | Mel <einebeere@gmail.com> | 2023-07-08 01:20:53 +0200 |
| commit | 41fbca10f6c6cdd9c1623f1347e7ecb40f5e7f59 (patch) | |
| tree | 7a41651c7c1eeecfc422395cbdb4b26ac619eaf9 /src/GFX/Image/PPMParser.cpp | |
| parent | f8c0fb7e5d4cd0139b2b287980149eca688803bd (diff) | |
| download | meowcraft-41fbca10f6c6cdd9c1623f1347e7ecb40f5e7f59.tar.zst meowcraft-41fbca10f6c6cdd9c1623f1347e7ecb40f5e7f59.zip | |
Add crude texture transparency
Diffstat (limited to 'src/GFX/Image/PPMParser.cpp')
| -rw-r--r-- | src/GFX/Image/PPMParser.cpp | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/GFX/Image/PPMParser.cpp b/src/GFX/Image/PPMParser.cpp index f002db8..1f62871 100644 --- a/src/GFX/Image/PPMParser.cpp +++ b/src/GFX/Image/PPMParser.cpp @@ -68,12 +68,18 @@ RawImage::Pixel PPMParser::parse_pixel(uint8_t max_color) { auto map_to_range = [=](uint64_t s) -> uint8_t { return s * 255 / max_color; }; - RawImage::Pixel pixel{}; - pixel.r = map_to_range(r_sample); - pixel.g = map_to_range(g_sample); - pixel.b = map_to_range(b_sample); + RawImage::Pixel p{ + map_to_range(r_sample), + map_to_range(g_sample), + map_to_range(b_sample), + 255 + }; + + if (p.r == alpha_color.r && p.g == alpha_color.g && p.b == alpha_color.b) { + p.a = 0; + } - return pixel; + return p; } uint64_t PPMParser::parse_sample() { |
