일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Visual Studio
- Phong
- 탄젠트 공간
- 지오서버
- Specular
- visual studio code
- WebMapServiceImageryProvider
- VBO
- vs code
- 세슘
- Cesium
- CesiumJS
- vscode
- 브이월드
- glad
- Diffuse
- OpenGL
- WebMercatorTilingScheme
- GLFW
- V-World
- WMS
- 세슘JS
- WebMapService
- WMTS
- GLM
- CeisumJS
- GetTile
- lighting model
- Geoserver
- WebMapTileService
- Today
- Total
엉뚱하고 기발하게
Blinn-Phong reflection model 본문
본 블로그는 개인적인 공부를 목적으로 작성되었습니다.
작성된 블로그의 내용은 다른 사이트, 블로그를 참고하였으며, 저작권 문제가 있다면 수정하겠습니다.
또한 잘못된 내용으로 인한 불이익은 사용자에게 있습니다.
Blinn-Phong reflection model은 Phong reflection model을 개선한 모델이다. Blinn-Phong의 경우 기존의 Phong 모델에서 Specular reflection이 개선 되었다.

기존의 Phong 모델의 Specular reflection 식은 아래와 같다.
KsIs(ˆR⋅ˆV)n
이 식에서 ˆR를 구하기 위한 식은 아래와 같다.
ˆR=ˆL−2.0∗(ˆN⋅ˆL)ˆN
위와 같이 반사 벡터를 구하기 위해서 매번 dot(⋅) 연산을 수행해야 한다.
Blinn-Phong 모델의 경우 ˆR를 사용하는 대신 중간 벡터 ˆH를 사용한다.
ˆH=ˆL+ˆV∥ˆL+ˆV∥
Blinn-Phong의 중간 벡터 ˆH은 Phong의 반사 벡터 ˆR보다 가볍게 구할수 있다. 그 이유는 Phong 모델의 경우 FragmentShader에서 ˆN⋅ˆL 연산을 수행 해야 하지만, Blinn-Phong 모델의 경우 VertexShader에서 ˆL+ˆV∥ˆL+ˆV∥을 하면 되기 때문에다.
Blinn-Phong의 Specular reflection식은 아래와 같다.
KsIs(ˆN⋅ˆH)n
en.wikipedia.org/wiki/Blinn%E2%80%93Phong_reflection_model
'Graphics > OpenGL' 카테고리의 다른 글
Lambertian reflectance (0) | 2020.10.19 |
---|---|
Phong reflection model(Phong lighting model) (0) | 2020.10.19 |
Vertex Buffer Object(VBO) (0) | 2020.10.11 |