--- layout: stdlib-reference --- # reflect ## Description Reflect incident vector across plane with given normal. ## Signature
T reflect<T>(
    T i,
    T n)
    where T : __BuiltinFloatingPointType;

vector<T, N> reflect<T, N:int>(
    vector<T, N> i,
    vector<T, N> n)
    where T : __BuiltinFloatingPointType;

## Generic Parameters #### T: [\_\_BuiltinFloatingPointType](../interfaces/0_builtinfloatingpointtype-029hm/index.html) #### N : int ## Parameters #### i : [T](reflect.html#typeparam-T) The incident vector. #### n : [T](reflect.html#typeparam-T) The normal vector. #### i : [vector](../types/vector/index.html)\<[T](../types/vector/index.html#typeparam-T), [N](../types/vector/index.html#decl-N)\> The incident vector. #### n : [vector](../types/vector/index.html)\<[T](../types/vector/index.html#typeparam-T), [N](../types/vector/index.html#decl-N)\> The normal vector. ## Return value The reflected vector. ## Availability and Requirements Defined for the following targets: #### hlsl Available in all stages. #### glsl Available in all stages. #### cpp Available in all stages. #### cuda Available in all stages. #### metal Available in all stages. #### wgsl Available in all stages. #### spirv Available in all stages.