1 Star 0 Fork 1

波波/Gut

forked from 2144/Gut 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
ShaderMng.h 1.61 KB
一键复制 编辑 原始数据 按行查看 历史
2144 提交于 2023-09-27 14:51 . s
#pragma once
#include "pch.h"
#include "Shader.h"
struct ShaderMng
{
std::string mDir = "resource/shader/";
std::string versionHeader = " #version 300 es \n"
"precision mediump float;\n";
std::string mediumHeader = " precision mediump float; \n";
const std::string GetVersionHeader() const
{
return this->versionHeader;
};
const std::string GetMediumHeader() const
{
return this->mediumHeader;
}
Shader CreatePath(const std::string &v, const std::string &p)
{
const std::string vf = mDir + v;
const std::string pf = mDir + p;
Shader shader;
shader.CreateFromFilePath(vf, pf);
const std::string vertCode = this->GetContexText(vf);
const std::string fragCode = this->GetContexText(pf);
// const std::string vvCode = GetVersionHeader() + vertCode;
// const std::string ffCode = GetVersionHeader() + fragCode;
const std::string vvCode = vertCode;
const std::string ffCode = fragCode;
shader.CreateFromCode(vvCode.c_str(), ffCode.c_str());
return shader;
}
const std::string GetContexText(const std::string& path) const
{
std::ifstream ifs;
ifs.open(path);
if (!ifs.is_open())
{
LOGI("cannot open file %s \n", path.c_str());
ifs.close();
return "";
}
std::string text = std::string((std::istreambuf_iterator<char>(ifs)),
(std::istreambuf_iterator<char>()));
ifs.close();
return text;
}
};
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/bobo110/gut.git
git@gitee.com:bobo110/gut.git
bobo110
gut
Gut
master

搜索帮助