You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
## Faceforward
Tìm vector pháp tuyến cùng phía với vector tới so với một bề mặt.
### Các phiên bản
```glsl
float faceforward(float N, float I, float Nref)
vec2 faceforward(vec2 N, vec2 I, vec2 Nref)
vec3 faceforward(vec3 N, vec3 I, vec3 Nref)
vec4 faceforward(vec4 N, vec4 I, vec4 Nref)
```
### Các tham số
```N``` vector pháp tuyến của bề mặt sẽ va chạm (hướng trả về sẽ trùng hướng này hoặc hướng ngược lại)
```I``` vector tới (hướng tới vị trí va chạm với bề mặt).
```Nref``` vector pháp tuyến của bề mặt cần kiểm tra.
### Mô tả
```faceforward()``` trả về hướng của bề mặt (vector pháp tuyến) tại vị trí va chạm với tia tới. Nếu ```dot(Nref, I) < 0 ` ` ` tr ả v ề ` ` ` N ` ` ` , ng ư ợ c l ạ i tr ả v ề ` ` ` -N ` ` ` .
### Tham khảo thêm
[reflect() ](/glossary/?lan=vi&search=reflect ), [refract() ](/glossary/?lan=vi&search=refract )