Skip to content
Snippets Groups Projects
Image.h 546 B
Newer Older
Postea's avatar
Postea committed
#pragma once

#include "../camera/CamObs.h"
#include "../tools/Vec3.h"
Postea's avatar
Postea committed
#include "Sampler.h"
#include <vector>

namespace util {
class Image {
public:
    Image(int width, int height);

    void setPixels(std::shared_ptr<Sampler> sampler);
Postea's avatar
Postea committed

    Vec3 operator[](const std::array<int, 2>& i) const; //int x, int y
    Vec3& operator[](const std::array<int, 2>& i);
Postea's avatar
Postea committed

    const int width;
    const int height;
Postea's avatar
Postea committed

    std::vector<util::Vec3> vec;
Postea's avatar
Postea committed

Image raytrace(const cam::CamObs& cam, const std::shared_ptr<Sampler>& sampler, size_t n);
Postea's avatar
Postea committed

}