5 #include "Mountain/core.hpp" 6 #include "Mountain/resource/shader_base.hpp" 20 using ShaderBase::ShaderBase;
22 using ShaderBase::SetSourceData;
32 MOUNTAIN_API bool_t
Load(
const char_t* buffer, int64_t length);
35 MOUNTAIN_API
void Load()
override;
38 MOUNTAIN_API
void Unload()
override;
43 MOUNTAIN_API bool_t Reload(bool_t reloadInBackend)
override;
45 MOUNTAIN_API
void Dispatch(uint32_t groupsX = 1, uint32_t groupsY = 1, uint32_t groupsZ = 1)
const;
50 bool_t CheckCompileError(uint32_t
id)
const;
MOUNTAIN_API void ResetSourceData() override
Unloads the compute shader.
static MOUNTAIN_API constexpr std::array FileExtensions
Allowed extensions for compute shaders.
MOUNTAIN_API void Load() override
Creates the compute shader in OpenGL.
MOUNTAIN_API bool_t SetSourceData(const Pointer< File > &shader) override
Loads a single compute shader file.
Custom Mountain smart pointer. Represents both a std::shared_ptr and a std::weak_ptr.
MOUNTAIN_API void Unload() override
Destroys the compute shader in OpenGL.
Contains all declarations of the Mountain Framework.