sKit
0.0.9
ShaderBuilder.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include <SDL3/SDL.h>
4
5
#include <string>
6
7
namespace
sKit
{
8
namespace
SDL {
9
20
class
ShaderBuilder
{
21
public
:
22
ShaderBuilder
()
23
: stage_(SDL_GPU_SHADERSTAGE_VERTEX), numUniformBuffers_(0) {};
24
26
auto
path
(std::string
path
) noexcept ->
ShaderBuilder
&;
27
29
auto
vertex
() noexcept ->
ShaderBuilder
&;
30
32
auto
fragment
() noexcept ->
ShaderBuilder
&;
33
35
auto
numUniformBuffers
(uint32_t n) noexcept ->
ShaderBuilder
&;
36
40
auto
build
(SDL_GPUDevice* device) -> SDL_GPUShader*;
41
42
private:
43
std::
string
path_;
44
SDL_GPUShaderStage stage_;
45
uint32_t numUniformBuffers_;
46
};
47
48
}
// namespace SDL
49
};
// namespace sKit
sKit::SDL::ShaderBuilder::build
auto build(SDL_GPUDevice *device) -> SDL_GPUShader *
Definition:
ShaderBuilder.cpp:30
sKit::SDL::ShaderBuilder::ShaderBuilder
ShaderBuilder()
Definition:
ShaderBuilder.hpp:22
sKit::SDL::ShaderBuilder
SDL_GPUShader builder class
Definition:
ShaderBuilder.hpp:20
sKit::SDL::ShaderBuilder::fragment
auto fragment() noexcept -> ShaderBuilder &
Tells the builder that the shader built is a fragment shader.
Definition:
ShaderBuilder.cpp:20
sKit::SDL::ShaderBuilder::numUniformBuffers
auto numUniformBuffers(uint32_t n) noexcept -> ShaderBuilder &
Tells the builder how many uniform bufferms the shader will receive.
Definition:
ShaderBuilder.cpp:25
sKit::SDL::ShaderBuilder::vertex
auto vertex() noexcept -> ShaderBuilder &
Tells the builder that the shader built is a vertex shader.
Definition:
ShaderBuilder.cpp:15
sKit::SDL::ShaderBuilder::path
auto path(std::string path) noexcept -> ShaderBuilder &
Definition:
ShaderBuilder.cpp:10
sKit
Definition:
camera.hpp:8
sKit
SDL
ShaderBuilder.hpp
Generated by
1.8.17