blob: 34ce32e71eaee44834c76f9b52e262bd61d70075 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
#include "Resources.hpp"
#include "../Common/Assert.hpp"
namespace MC::GFX {
void Resources::initialize() {
ASSERT(!m_initialized, "Resources already initialized");
for (auto& metadata: m_program_metadata) {
m_programs[static_cast<USize>(metadata.id)] = create_program(metadata);
}
m_initialized = true;
}
Shading::Program const& Resources::program(Program id) const {
ASSERT(m_initialized, "Resources not initialized");
return m_programs[static_cast<USize>(id)];
}
Shading::Program Resources::create_program(ProgramMetadata const& metadata) {
Shading::Shader vertex(Shading::Shader::Type::Vertex, metadata.vertex);
Shading::Shader fragment(Shading::Shader::Type::Fragment, metadata.fragment);
return {vertex, fragment};
}
}
|