engine/ext/world/terrain/generator.h
2018-05-13 00:00:00 -05:00

25 lines
521 B
C++

#pragma once
#include <uf/config.h>
#include <uf/ext/ext.h>
#include <uf/utils/math/vector.h>
#include <uf/gl/mesh/mesh.h>
#include "voxel.h"
#include "region.h"
namespace ext {
class EXT_API TerrainGenerator {
protected:
ext::TerrainVoxel::uid_t*** m_voxels;
pod::Vector3ui m_size;
public:
void initialize( const pod::Vector3ui& = { 8, 8, 8 } );
void destroy();
void generate();
void rasterize( uf::Mesh&, const ext::Region& );
ext::TerrainVoxel::uid_t*** getVoxels();
};
}