nCine::GLShader class

Handles OpenGL shader objects.

Public types

enum class Status { NotCompiled, CompilationFailed, Compiled, CompiledWithDeferredChecks }
enum class ErrorChecking { Immediate, Deferred }

Constructors, destructors, conversion operators

GLShader(GLenum type) explicit
GLShader(GLenum type, StringView filename)
~GLShader()
GLShader(const GLShader&) deleted

Public functions

auto operator=(const GLShader&) -> GLShader& deleted
auto GetGLHandle() const -> GLuint
auto GetStatus() const -> Status
auto LoadFromString(StringView string) -> bool
Loads a shader from the given string.
auto LoadFromStringAndFile(StringView string, StringView filename) -> bool
Loads a shader from the given string and then append the specified file.
auto LoadFromStrings(ArrayView<const StringView> strings) -> bool
Loads a shader by concatenating the given strings in order.
auto LoadFromStringsAndFile(ArrayView<const StringView> strings, StringView filename) -> bool
Loads a shader by concatenating the given strings in order, then appending the specified file.
auto LoadFromFile(StringView filename) -> bool
Loads a shader from the specified file.
auto Compile(ErrorChecking errorChecking, bool logOnErrors) -> bool
auto CheckCompilation(bool logOnErrors) -> bool
void SetObjectLabel(const char* label)