Port of the Python prototype to C++20 with a CMake build: - effector_core: GUI-free static library (effects, image IO via gdk-pixbuf, declarative param specs, registry, portable seeded RNG, thread helper) - scanlines effect: plans strips from the seeded RNG, then copies pixels in parallel with memcpy and doubling horizontal tiling - gtkmm 4 interface: native file dialogs, widgets generated from the param specs, coalesced background renders, preview as a GDK memory texture - CLI: flags generated from the effect registry, headless rendering with no display required - ctest suite covering the RNG, registry, effect geometry and image round trip The Python prototype is kept under python-reference/.
13 lines
215 B
C++
13 lines
215 B
C++
#include "core/rng.hpp"
|
|
|
|
#include <random>
|
|
|
|
namespace effector {
|
|
|
|
std::uint64_t Rng::randomSeed() {
|
|
std::random_device rd;
|
|
return (static_cast<std::uint64_t>(rd()) << 32) ^ rd();
|
|
}
|
|
|
|
} // namespace effector
|