#include "shader_source.h" #include #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