Vector3<T> Desaturate( const Vector3<T>& v ) { T l = v.Luminance(); return Vector3<T>( l, l, l ); }
Vector3<T> Desaturate( const Vector3<T>& v, float mul ) { T l = T( v.Luminance() * mul ); return Vector3<T>( l, l, l ); }
bool operator<( const Vector3<T>& lhs, const Vector3<T>& rhs ) { return lhs.Luminance() < rhs.Luminance(); }