kaliber/src/engine/shader_source.h

37 lines
807 B
C
Raw Normal View History

2020-04-13 11:24:53 +00:00
#ifndef SHADER_CODE_H
#define SHADER_CODE_H
#include <memory>
#include <string>
namespace eng {
class ShaderSource {
public:
ShaderSource() = default;
~ShaderSource() = default;
bool Load(const std::string& name);
const char* GetVertexSource() const { return vertex_source_.get(); }
const char* GetFragmentSource() const { return fragment_source_.get(); }
size_t vertex_source_size() const { return vertex_source_size_; }
size_t fragment_source_size() const { return fragment_source_size_ ; }
const std::string& name() const { return name_; }
2020-04-13 11:24:53 +00:00
private:
std::string name_;
2020-04-13 11:24:53 +00:00
std::unique_ptr<char[]> vertex_source_;
std::unique_ptr<char[]> fragment_source_;
size_t vertex_source_size_ = 0;
size_t fragment_source_size_ = 0;
2020-04-13 11:24:53 +00:00
};
} // namespace eng
#endif // SHADER_CODE_H