const unsigned int ShaderCache::getVertexShader(const tinyxml2::XMLElement* element, const DeviceManager& deviceManager) { VertexShader shader; shader.deserialise(element); unsigned int resourceName = hashString(getResourceNameFromFileName(shader.getFileName())); if (getVertexShader(resourceName) == nullptr) { if (shader.createShader(deviceManager)) { m_vertexShaders.emplace(VertexShaderHandle(resourceName, shader)); } } return resourceName; }