--- 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.