※조명 변경시 주의 할 점은 오우거에서 빛이 없어서 기본적으로 화면에 표시되는게 없을 것을 우려 해서 인지
기본 조명이 존재 한다는 점 입니다. 이 조명 설정 코드에서 삭제 하여도 존재 합니다. 다른 조명을 설정하고
확인하기 위해선 virtual void createScene(void)함수의
// Set ambient light
mSceneMgr->setAmbientLight(ColourValue(0, 0, 0));
ColourValue의 agurement값을 0,0,0으로 설정하면 됩니다.
○ambient
-.오우거에서 기본으로 설정되어 있다.
-.동일한 밝기의 빛이 장면안의 모든 물체에서 일정하게 반사
○directional
-.한 방향으로 무한히 뻗어 나가는 빛
-.빛이 물체 면을 향하여 일정한 방향으로 진행
-.거리에 상관없이 특정한 한 방향(벡터)에 대해서 빛의 세기가 일정하게 주어진다.
-.태양을 흉내 낼때 주로 쓰임
code)
Light* l = mSceneMgr->createLight("Light_D"); //생성
l->setType(Light::LT_DIRECTIONAL); //light종류 설정
l->setDirection(Vector3(10,10,10)); //방향설정
○point
-.공간 안의 한 점에서 모든 방향으로 동일하게 뻗어 나가는 빛
-.백열 전구를 모델링
-.광원과 물체 표면이 멀어질 수록 밝기가 약해짐
code)
Light* l = mSceneMgr->createLight("Light_D"); //생성
l->setType(Light::LT_POINT); //light종류 설정
l->setPosition(Vector3(50,50,50)); //위치 설정
○spot
-.일종의 점광원이지만 특정 방향으로 지정된 각도 만큼 빛이 퍼저나감.
-.무대 조명을 모델링
-.거리에 따라 빛의 세기가 약해짐
code)
Light* l = mSceneMgr->createLight("Light_D"); //생성
l->setType(Light::LT_SPOTLIGHT);
l->setDirection(Vector3(0,-1,0));
l->setSpotlightRange( Degree(50), Degree(100));
l->setPosition(Vector3(0,300,0));
- 2011/01/06 18:07
- Doyazi.egloos.com/1994706
- 덧글수 : 0
SpotLight 실행화면 입니다.




덧글