VoxelEngine
 
Loading...
Searching...
No Matches
ITerrainGenerator.h
1#pragma once
2
3#include <glm/glm.hpp>
4
5#include "../Globals.h"
6
7namespace engine {
8 class Chunk;
9 class World;
10
12 public:
13 virtual ~ITerrainGenerator() = default;
14
15 virtual BlockID voxelAt(const glm::ivec3& pos) = 0;
16 virtual int height(int x, int z) const = 0;
17 virtual void populate(Chunk& chunk) = 0;
18
19 void setWorld(World* world) { m_world = world; }
20
21 protected:
22 World* m_world = nullptr;
28 //virtual BlockID voxelAt(const glm::ivec3& pos, int y) {
29 // return -1;
30 //};
31 };
32} // namespace engine
Definition Chunk.h:37
Definition ITerrainGenerator.h:11
Definition World.h:34