mirror of https://github.com/auygun/kaliber.git
42 lines
998 B
C++
42 lines
998 B
C++
|
#include "shader_source.h"
|
||
|
|
||
|
#include <cstring>
|
||
|
|
||
|
#include "../base/log.h"
|
||
|
#include "engine.h"
|
||
|
#include "platform/asset_file.h"
|
||
|
|
||
|
namespace eng {
|
||
|
|
||
|
bool ShaderSource::Load(const std::string& name) {
|
||
|
Engine& engine = Engine::Get();
|
||
|
|
||
|
size_t size = 0;
|
||
|
|
||
|
std::string vertex_file_name = name;
|
||
|
vertex_file_name += "_vertex";
|
||
|
auto vertex_source = AssetFile::ReadWholeFile(
|
||
|
vertex_file_name.c_str(), engine.GetRootPath().c_str(), &size, true);
|
||
|
if (!vertex_source) {
|
||
|
LOG << "Failed to read file: " << vertex_file_name;
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
vertex_source_ = std::move(vertex_source);
|
||
|
|
||
|
std::string fragment_file_name = name;
|
||
|
fragment_file_name += "_fragment";
|
||
|
auto fragment_source = AssetFile::ReadWholeFile(
|
||
|
fragment_file_name.c_str(), engine.GetRootPath().c_str(), &size, true);
|
||
|
if (!fragment_source) {
|
||
|
LOG << "Failed to read file: " << fragment_file_name;
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
fragment_source_ = std::move(fragment_source);
|
||
|
|
||
|
return true;
|
||
|
}
|
||
|
|
||
|
} // namespace eng
|