Brought in Amit's latest code and converted it to use either dumb lighting or his new torch lighting, then threw in the FPS counter from last night.
This commit is contained in:
parent
53a151511e
commit
831e15ca18
6 changed files with 500 additions and 247 deletions
74
tests/amt_test.cpp
Normal file
74
tests/amt_test.cpp
Normal file
|
@ -0,0 +1,74 @@
|
|||
#include <cstdint>
|
||||
#include <print>
|
||||
#include "matrix.hpp"
|
||||
#include "pixel.hpp"
|
||||
|
||||
using namespace amt;
|
||||
|
||||
int main() {
|
||||
|
||||
auto const format = PixelFormat::abgr;
|
||||
PixelBuf b(2, 2, RGBA(0x01, 0x02, 0x03, 0x04));
|
||||
b[1][1] = HSLA(280, 20, 50, 80);
|
||||
std::println("{:h}", b);
|
||||
|
||||
|
||||
std::uint8_t ps[4 * 4] = {};
|
||||
b.copy_to(ps, format);
|
||||
|
||||
/*for (auto i = 0zu; i < sizeof(ps); ++i) {*/
|
||||
/* std::println("[{}]: 0x{:0x}", i, ps[i]);*/
|
||||
/*}*/
|
||||
|
||||
PixelBuf test(ps, 2, 2, format);
|
||||
|
||||
for (auto i = 0zu; auto color: test) {
|
||||
std::println("[{}]: {}", i++, color);
|
||||
}
|
||||
|
||||
auto m = Matrix<int>{
|
||||
{0, 1},
|
||||
{3, 4}
|
||||
};
|
||||
|
||||
std::println("{}", m);
|
||||
|
||||
|
||||
|
||||
{
|
||||
auto ca = RGBA::from_hex(0x333333ff);
|
||||
auto cb = RGBA::from_hex(0xaabbccff);
|
||||
std::println("========= RGBA ===========");
|
||||
std::println("Normal: 0x{:0x}", ca.blend(cb, BlendMode::normal).to_hex());
|
||||
std::println("Multiply: 0x{:0x}", ca.blend(cb, BlendMode::multiply).to_hex());
|
||||
std::println("Screen: 0x{:0x}", ca.blend(cb, BlendMode::screen).to_hex());
|
||||
std::println("Overlay: 0x{:0x}", ca.blend(cb, BlendMode::overlay).to_hex());
|
||||
std::println("darken: 0x{:0x}", ca.blend(cb, BlendMode::darken).to_hex());
|
||||
std::println("lighten: 0x{:0x}", ca.blend(cb, BlendMode::lighten).to_hex());
|
||||
std::println("Dodge: 0x{:0x}", ca.blend(cb, BlendMode::colorDodge).to_hex());
|
||||
std::println("Burn: 0x{:0x}", ca.blend(cb, BlendMode::colorBurn).to_hex());
|
||||
std::println("hard light: 0x{:0x}", ca.blend(cb, BlendMode::hardLight).to_hex());
|
||||
std::println("soft light: 0x{:0x}", ca.blend(cb, BlendMode::softLight).to_hex());
|
||||
std::println("difference: 0x{:0x}", ca.blend(cb, BlendMode::difference).to_hex());
|
||||
std::println("exclusion: 0x{:0x}", ca.blend(cb, BlendMode::exclusion).to_hex());
|
||||
}
|
||||
|
||||
{
|
||||
HSLA ca = RGBA::from_hex(0x333333ff);
|
||||
HSLA cb = RGBA::from_hex(0xaabbccff);
|
||||
std::println("========= HSLA ===========");
|
||||
std::println("Normal: {}", ca.blend(cb, BlendMode::normal));
|
||||
std::println("Multiply: {}", ca.blend(cb, BlendMode::multiply));
|
||||
std::println("Screen: {}", ca.blend(cb, BlendMode::screen));
|
||||
std::println("Overlay: {}", ca.blend(cb, BlendMode::overlay));
|
||||
std::println("darken: {}", ca.blend(cb, BlendMode::darken));
|
||||
std::println("lighten: {}", ca.blend(cb, BlendMode::lighten));
|
||||
std::println("Dodge: {}", ca.blend(cb, BlendMode::colorDodge));
|
||||
std::println("Burn: {}", ca.blend(cb, BlendMode::colorBurn));
|
||||
std::println("hard light: {}", ca.blend(cb, BlendMode::hardLight));
|
||||
std::println("soft light: {}", ca.blend(cb, BlendMode::softLight));
|
||||
std::println("difference: {}", ca.blend(cb, BlendMode::difference));
|
||||
std::println("exclusion: {}", ca.blend(cb, BlendMode::exclusion));
|
||||
}
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue