public Shader( String fileName )
	{
		ShaderResource oldResource = loadedShaders.get( fileName );

		if ( oldResource != null )
		{
			resource = oldResource;
			resource.addReference();
		}
		else
		{
			resource = new ShaderResource();

			String vertexShaderText = loadShader( fileName + ".vert" );
			String fragmentShaderText = loadShader( fileName + ".frag" );

			addVertexShader( vertexShaderText );
			addFragmentShader( fragmentShaderText );

			addAllAttributes( vertexShaderText );

			compileShader();

			addAllUniforms( vertexShaderText );
			addAllUniforms( fragmentShaderText );
		}
	}