3 #include <unordered_set> 5 #include "Mountain/core.hpp" 17 using Resource::Resource;
20 MOUNTAIN_API
void SetUniform(
const char_t* keyName, int32_t value)
const;
23 MOUNTAIN_API
void SetUniform(
const char_t* keyName, uint32_t value)
const;
26 MOUNTAIN_API
void SetUniform(
const char_t* keyName, bool_t value)
const;
29 MOUNTAIN_API
void SetUniform(
const char_t* keyName, float_t value)
const;
44 MOUNTAIN_API
void SetUniform(
const char_t* keyName,
const Color& value)
const;
53 MOUNTAIN_API
void SetUniform(
const char_t* keyName,
const Matrix& value)
const;
57 MOUNTAIN_API uint32_t
GetId()
const;
62 bool_t CheckCompileError(uint32_t
id, std::string_view type,
const std::string& code)
const;
63 bool_t CheckLinkError()
const;
66 int32_t GetUniformLocation(
const char_t* keyName)
const;
68 static void ReplaceIncludes(std::string& code,
const std::filesystem::path& path, std::unordered_set<std::filesystem::path>& replacedFiles);
MOUNTAIN_API uint32_t GetId() const
Gets the internal id of the shader.
MOUNTAIN_API void SetUniform(const char_t *keyName, int32_t value) const
Sets an int (signed, 32 bits) variable in a shader.
Defines the Mountain::Resource class.
Defines multiple color structs.
std::unordered_set< std::filesystem::path > dependentShaderFiles
List of files that are included in this shader file.
The Color struct represents a color in RGBA color space.
Contains all declarations of the Mountain Framework.