1#ifndef TATOOINE_GL_SHADERSTAGE_H
2#define TATOOINE_GL_SHADERSTAGE_H
22 using path = std::filesystem::path;
27 std::variant<shadersource, std::filesystem::path>
m_source;
41 std::filesystem::path
const& shaderfilepath);
47 DLL_API
auto compile(
bool use_ansi_color =
true) -> void;
57 DLL_API
auto info_log(
bool use_ansi_color =
true) -> void;
59 bool use_ansi_color =
true) -> void;
60 DLL_API
auto print_line(std::filesystem::path
const& filename,
61 size_t line_number, std::ostream& os) -> void;
Definition: shaderstage.h:21
std::variant< shadersource, std::filesystem::path > m_source
Definition: shaderstage.h:27
include_tree m_include_tree
Definition: shaderstage.h:30
std::filesystem::path path
Definition: shaderstage.h:22
DLL_API auto delete_stage() -> void
DLL_API shaderstage(GLenum shader_type, std::filesystem::path const &shaderfilepath)
auto stage_type() const
Definition: shaderstage.h:53
DLL_API auto info_log(bool use_ansi_color=true) -> void
bool m_delete
Definition: shaderstage.h:24
DLL_API auto print_line(std::filesystem::path const &filename, size_t line_number, std::ostream &os) -> void
DLL_API shaderstage(GLenum shader_type, shadersource const &shaderfilepath)
auto is_created() const
Definition: shaderstage.h:54
DLL_API shaderstage(shaderstage &&other)
DLL_API auto compile(bool use_ansi_color=true) -> void
DLL_API auto parse_compile_error(std::smatch &match, std::ostream &os, bool use_ansi_color=true) -> void
static DLL_API auto type_to_string(GLenum shader_type) -> std::string_view
auto glsl_vars() const -> auto const &
Definition: shaderstage.h:50
GLenum m_shader_type
Definition: shaderstage.h:26
std::vector< GLSLVar > m_glsl_vars
Definition: shaderstage.h:29
auto stage_name() const
Definition: shaderstage.h:52
static std::regex const regex_nvidia_compiler_error
Definition: shaderstage.h:32
static std::regex const regex_mesa_compiler_error
Definition: shaderstage.h:33
Definition: ansiformat.h:6
Definition: idholder.h:31
auto id() const
Definition: idholder.h:56
Definition: includetree.h:11
Definition: shadersource.h:8