private void addAllUniforms( String shaderText )
	{
		HashMap<String, ArrayList<GLSLStruct>> structs = findUniformStructs( shaderText );

		final String UNIFORM_KEYWORD = "uniform";
		int uniformStartLocation = shaderText.indexOf( UNIFORM_KEYWORD );
		while ( uniformStartLocation != -1 )
		{
			if ( !( uniformStartLocation != 0
					&& ( Character.isWhitespace( shaderText.charAt( uniformStartLocation - 1 ) ) || shaderText.charAt( uniformStartLocation - 1 ) == ';' )
					&& Character.isWhitespace( shaderText.charAt( uniformStartLocation + UNIFORM_KEYWORD.length() ) ) ) )
				continue;

			int begin = uniformStartLocation + UNIFORM_KEYWORD.length() + 1;
			int end = shaderText.indexOf( ";", begin );

			String uniformLine = shaderText.substring( begin, end ).trim();

			int whiteSpacePos = uniformLine.indexOf( ' ' );
			String uniformName = uniformLine.substring( whiteSpacePos + 1, uniformLine.length() ).trim();
			String uniformType = uniformLine.substring( 0, whiteSpacePos ).trim();

			resource.getUniformNames().add( uniformName );
			resource.getUniformTypes().add( uniformType );
			addUniform( uniformName, uniformType, structs );

			uniformStartLocation = shaderText.indexOf( UNIFORM_KEYWORD, uniformStartLocation + UNIFORM_KEYWORD.length() );
		}
	}