[OGRE]Light ORGE

 ※조명 변경시 주의 할 점은  오우거에서 빛이 없어서 기본적으로 화면에 표시되는게 없을 것을 우려 해서 인지
기본 조명이 존재 한다는 점 입니다. 이 조명 설정 코드에서 삭제 하여도 존재 합니다. 다른 조명을 설정하고 
확인하기 위해선  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));

SpotLight 실행화면 입니다.


 


덧글

댓글 입력 영역