#include #include #include #include #include namespace mbgl { namespace shaders { std::string fragmentSource(const ProgramParameters& parameters, const char* fragmentSource) { return parameters.getDefines() + fragmentPrelude + fragmentSource; } std::string vertexSource(const ProgramParameters& parameters, const char* vertexSource) { return parameters.getDefines() + vertexPrelude + vertexSource; } std::string programIdentifier(const std::string& vertexSource, const std::string& fragmentSource) { std::string result; result.reserve(sizeof(size_t) * 2 * 2 + 2 + 1); result += util::toHex(std::hash()(vertexSource)); result += util::toHex(std::hash()(fragmentSource)); result += "v2"; return result; } } // namespace shaders } // namespace mbgl