2019-11-12 19:18:11 -08:00
|
|
|
//
|
|
|
|
// Created by aurailus on 2019-11-12.
|
|
|
|
//
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <vector>
|
2020-07-06 18:34:59 -07:00
|
|
|
#include <glm/vec3.hpp>
|
2019-11-12 19:18:11 -08:00
|
|
|
|
|
|
|
class Voronoi3D {
|
|
|
|
public:
|
|
|
|
Voronoi3D() = default;
|
|
|
|
Voronoi3D(unsigned short size);
|
|
|
|
|
2020-11-08 18:49:17 -08:00
|
|
|
void setPoints(const std::vector<std::pair<glm::vec3, unsigned short>>& points);
|
2019-11-13 20:42:25 -08:00
|
|
|
unsigned short getPoint(unsigned short x, unsigned short y, unsigned short z);
|
2019-11-12 19:18:11 -08:00
|
|
|
|
2020-07-16 19:38:25 -07:00
|
|
|
// void setColorValues(const std::vector<glm::vec3>& values);
|
2020-07-06 18:34:59 -07:00
|
|
|
// void generateImage(unsigned short depth);
|
2019-11-12 19:18:11 -08:00
|
|
|
private:
|
|
|
|
typedef std::vector<std::vector<std::vector<unsigned short>>> voronoi_data;
|
|
|
|
|
|
|
|
unsigned short size;
|
|
|
|
voronoi_data data;
|
2020-11-08 18:49:17 -08:00
|
|
|
std::vector<std::pair<glm::vec3, unsigned short>> points;
|
2020-07-16 19:38:25 -07:00
|
|
|
// std::vector<glm::vec3> colorValues;
|
2019-11-12 19:18:11 -08:00
|
|
|
};
|