diff options
author | Konstantin Käfer <mail@kkaefer.com> | 2019-03-15 20:31:12 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-03-15 20:31:12 +0100 |
commit | c8cfdb1ced822711e772dfcc8f708b1a7a68b5fc (patch) | |
tree | bf511253e25459cafc91a5f3bea2f5c773677162 /src/mbgl/programs/gl/shaders.cpp | |
parent | 62695c56956add5560933137a479f29f2d3a091b (diff) | |
download | qtlocation-mapboxgl-c8cfdb1ced822711e772dfcc8f708b1a7a68b5fc.tar.gz |
Merge pull request #14126 from mapbox/gfx-refactor-4
Graphics refactor #4
Diffstat (limited to 'src/mbgl/programs/gl/shaders.cpp')
-rw-r--r-- | src/mbgl/programs/gl/shaders.cpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/mbgl/programs/gl/shaders.cpp b/src/mbgl/programs/gl/shaders.cpp new file mode 100644 index 0000000000..3cc33992de --- /dev/null +++ b/src/mbgl/programs/gl/shaders.cpp @@ -0,0 +1,31 @@ +#include <mbgl/programs/gl/shaders.hpp> +#include <mbgl/programs/gl/preludes.hpp> +#include <mbgl/programs/program_parameters.hpp> +#include <mbgl/util/string.hpp> + +#include <cassert> + +namespace mbgl { +namespace programs { +namespace gl { + +std::string fragmentSource(const ProgramParameters& parameters, const char* fragmentSource) { + return parameters.getDefines() + fragmentShaderPrelude + fragmentSource; +} + +std::string vertexSource(const ProgramParameters& parameters, const char* vertexSource) { + return parameters.getDefines() + vertexShaderPrelude + vertexSource; +} + +std::string programIdentifier(const std::string& vertexSource, const std::string& fragmentSource) { + std::string result; + result.reserve((sizeof(size_t) * 2) * 2 + 2); // 2 size_t hex values + "v2" + result += util::toHex(std::hash<std::string>()(vertexSource)); + result += util::toHex(std::hash<std::string>()(fragmentSource)); + result += "v3"; + return result; +} + +} // namespace gl +} // namespace programs +} // namespace mbgl |