private void AddUniform(String uniformName, String uniformType, HashMap<String, ArrayList<GLSLStruct>> structs)
	{
		boolean addThis = true;
		ArrayList<GLSLStruct> structComponents = structs.get(uniformType);

		if(structComponents != null)
		{
			addThis = false;
			for(GLSLStruct struct : structComponents)
			{
				AddUniform(uniformName + "." + struct.name, struct.type, structs);
			}
		}

		if(!addThis)
			return;

		int uniformLocation = glGetUniformLocation(m_resource.GetProgram(), uniformName);

		if(uniformLocation == 0xFFFFFFFF)
		{
			System.err.println("Error: Could not find uniform: " + uniformName);
			new Exception().printStackTrace();
			System.exit(1);
		}

		m_resource.GetUniforms().put(uniformName, uniformLocation);
	}