Implementing variance shadow mapping