aboutsummaryrefslogtreecommitdiff
path: root/include/RenderBackend/OpenGL/VertexShader.hpp
blob: 6fdd6a4fa1da5e60684670f1c910e06f0bb89174 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#pragma once

#include "Shader.hpp"

namespace amalgine {
    class CompiledVertexShader;

    using VertexShaderMainFunc = std::function<ShaderVec4()>;
    
    class VertexShader : public Shader
    {
        DISABLE_COPY(VertexShader)
        friend class ShaderProgram;
    public:
        VertexShader();

        void defineMain(VertexShaderMainFunc mainFunc);
        Result<CompiledVertexShader*> compile();
    };
}