#pragma once

#include "../../common.h"

namespace render{
namespace fx{

    class rnd
    {
    public:
        rnd();
        ~rnd();

        float urand() noexcept;
        float rand() noexcept;
        const vec2f &rand2() noexcept;
        const vec3f &rand3() noexcept;
    private:
        uint32_t _cur, _cr, _cr2, _cr3;
        float *_ur, *_r;
        vec2f *_r2;
        vec3f *_r3;
    };

    float urandom() noexcept;
    float random() noexcept;
    vec2f random2() noexcept;
    vec3f random3() noexcept;
}}
