aboutsummaryrefslogtreecommitdiff
#ifndef TERRAIN_H
#define TERRAIN_H

#include "renderer/shape.h"
#include "texture.h"

typedef struct
{
    texture_t *texture[4];
} TerrainTexturePack;

typedef struct
{
    shape_t *shape;
    texture_t *blendmap;
    TerrainTexturePack textures;

    GLfloat *height;
    int w, l;
    vec3_t position;
} terrain_t;

extern terrain_t *Terrain_Create( int w, int l, const char* heightmap_path, texture_t *blendmap, TerrainTexturePack *textures);
extern GLfloat Terrain_GetHeightOfTerrain(terrain_t* terrain, GLfloat x, GLfloat z);
extern void Terrain_Destroy( terrain_t *terrain );

#endif // TERRAIN_H