2015. 8. 6. 11:35
조명 효과 사용하기
glEnable(GL_LIGHTING);
* 조명 모델의 설정
- 조명 모델은 모두 3가지
- glLightModel( ) 함수를 통해 설정
- 첫 번째 조명 인자 : GL_LIGHT_MODEL_AMBIENT
* 재질 속성의 설정
- 빛을 반사하는 정도를 설정
- 재질 속성 설정 방법은 2가지
-- 1. 각 폴리곤이나 폴리곤 셋에 대하여 glMaterial( ) 함수 호출
- 대부분의 경우 주변광과 분산광에 대한 반사도는 같게 설정된다.
- 빛이 나거나 번쩍하는 효과가 필요하지 않는 한 반사광은 설정할 필요가 없다.
-- 2. 색상 트래킹
- 이 방식을 사용하면 재질에 대해 glColor만 호출해주면 된다.
- 물론 그 전에 색상 트래킹을 사용 가능하도록 다음과 같이 설정해 주어야 한다.
- glEnable(GL_COLOR_MATERIAL);
- 다음은 glColorMaterial( ) 함수를 통해 glColor에서 설정한 값이 적용될 재질 인자를 지정한다.
- 예를 들어 주변광과 분산광을 폴리곤의 앞면에 적용하고자 한다면 다음과 같이 호출하면 된다.
- glColorMaterial(GL_FRONT, GL_AMBIENT_AND_DIFFUSE);
- 그 뒤로는 재질 속성을 설정하는 코드가 필요하다.
* 광원의 설정