## Name

faceforward — return a vector pointing in the same direction as another

## Declaration

`genType faceforward(` | genType N,
| genType I,
| genType Nref`)`;

`genDType faceforward(` | genDType N,
| genDType I,
| genDType Nref`)`;

## Parameters

`N`

  Specifies the vector to orient.

`I`

  Specifies the incident vector.

`Nref`

  Specifies the reference vector.

## Description

`faceforward` orients a vector to point away from a surface as defined by its normal. If dot`(`Nref`, `I`) < 0` `faceforward` returns `N`, otherwise it returns `-`N``.

## Version Support

| OpenGL Shading Language Version
--- | ---
Function Name | 1.10 | 1.20 | 1.30 | 1.40 | 1.50 | 3.30 | 4.00 | 4.10 | 4.20 | 4.30 | 4.40 | 4.50
faceforward (genType) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔
faceforward (genDType) | - | - | - | - | - | - | ✔ | ✔ | ✔ | ✔ | ✔ | ✔

## See Also

reflect, refract

## Copyright

Copyright © 2011-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/.