summaryrefslogtreecommitdiff
path: root/src/mbgl/shader/terrain_shader.hpp
blob: 32bdcd16d3093dd1a7af30044b769b0a955c7669 (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
#pragma once

#include <mbgl/gl/shader.hpp>
#include <mbgl/gl/attribute.hpp>
#include <mbgl/shader/terrain_uniforms.hpp>

namespace mbgl {

class RasterVertex;

class TerrainShader : public gl::Shader {
public:
    TerrainShader(gl::Context&, Defines defines = None);

    using VertexType = RasterVertex;
    using UniformsType = TerrainUniforms;

    gl::Attribute<int16_t, 2> a_pos = { "a_pos", *this };
    gl::Attribute<uint16_t, 2> a_texture_pos = { "a_texture_pos", *this };

    typename TerrainUniforms::State uniformsState;
};

} // namespace mbgl