#pragma once #include "../../types.hpp" #include namespace amalgine { struct ShaderAttribute { std::string name; const char *typeName; }; static bool isAlpha(char c) { return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'); } static bool isDigit(char c) { return c >= '0' && c <= '9'; } static bool isShaderVariableNameValid(const char *variableName) { const char *p = &variableName[0]; if(isAlpha(*p) || *p == '_') { ++p; while(true) { char c = *p; if(c == '\0') return true; else if(isAlpha(c) || isDigit(c) || c == '_') ++p; } } return false; } std::string getShaderCompileLog(u32 shaderId); }