aboutsummaryrefslogtreecommitdiff
path: root/07-july/src/terrain.h
blob: 74e9f33a7847503592b17e669d650b4af63e8bf3 (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
{
    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