aboutsummaryrefslogtreecommitdiff
path: root/08-august/src/terrain.h
blob: da9828bf54ce28748282a05a90684df649467a8a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#ifndef TERRAIN_H
#define TERRAIN_H

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

typedef struct
{
    GLuint texture[4];
} TerrainTexturePack;

typedef struct
{
    shape_t *shape;
    GLuint 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, GLuint blendmap, TerrainTexturePack *textures);
extern GLfloat Terrain_GetHeightOfTerrain(terrain_t* terrain, GLfloat x, GLfloat z);
extern void Terrain_Destroy( terrain_t *terrain );

#endif // TERRAIN_H