Pipeline.hpp 1.18 KB
Newer Older
Mara Vogt's avatar
Mara Vogt committed
1
2
3
4
5
6
7
8
9
10
11
12
/**
 * @authors Mara Vogt, Mark Mints
 * @file src/vkcv/Pipeline.hpp
 * @brief Pipeline class to handle shader stages
 */

#ifndef VKCV_PIPELINE_HPP
#define VKCV_PIPELINE_HPP

#include <vector>
#include <cstdint>
#include "vkcv/Handles.hpp"
13
#include "ShaderProgram.hpp"
Mara Vogt's avatar
Mara Vogt committed
14
15
16
17
18
19

namespace vkcv {

    class Pipeline {

    public:
20
21
22
        /**
         *  Default constructer is deleted!
         */
Mara Vogt's avatar
Mara Vogt committed
23
        Pipeline() = delete;
24
25
26
27
28

        /**
         *  Constructor for the pipeline. Creates a pipeline using @p vertexCode, @p fragmentCode as well as the
         *  dimensions of the application window @p width and @p height. A handle for the Render Pass is also needed, @p passHandle.
         *
29
         * @param shaderProgram shaders of the pipeline
30
31
32
33
         * @param height height of the application window
         * @param width width of the application window
         * @param passHandle handle for Render Pass
         */
34
        Pipeline(const ShaderProgram& shaderProgram, uint32_t width, uint32_t height, RenderpassHandle &passHandle);
Mara Vogt's avatar
Mara Vogt committed
35

36
		ShaderProgram m_shaderProgram;
Mara Vogt's avatar
Mara Vogt committed
37
38
        uint32_t m_height;
        uint32_t m_width;
39
        RenderpassHandle m_passHandle;
Mara Vogt's avatar
Mara Vogt committed
40
41
42
43
    };

}
#endif //VKCV_PIPELINE_HPP