렌즈 플레어이펙트(Lens Flare Effect)Devrookie, http://cafe.naver.com/devrookie박민근
 게임에 단골로 등장하는 이펙트 중 하나인 렌즈플레어이펙트는 어떻게 구현하나요?
렌즈 플레어란?
실제 카메라렌즈 플레어
렌즈 플레어(Lens Flare)[위키피디아]  카메라 로 사진 / 동영상 을 촬영 하는 데 매우 밝은 광원이 렌즈 를 향해 맞춰져있을 때 발생하는 빛의 상이다.
결과적으로는약간투명한원, 육각형형태의조각들이광원으로부터한줄로퍼져나오는듯한모습
현실감을 강조하기 위한 중요한 수단이 된다.
접근 방법
렌즈 플레어만 따로 떼어놓고 보면?
플레어조각들은광원의투영위치와화면의중심을가로지르는하나의선위에배치된다플레어를구성하는텍스쳐에색상, 알파, 스케일을적당히적용한다.
화면의중심에가까워질수록크기↑, 투명도 ↓화면의 중앙(cx, cy)광원의 좌표(lx, ly)두 좌표를 잇는 선분
기본 구현
플레어 조각의 위치와 크기를 계산한다.플레어 조각의 텍스쳐, 색상, 투명도 결정플레어 조각을 하나의 2D 스프라이트로렌더링
플레어 조각 속성Texture
Distance
Size
Color
Alpha의사 코드
확장
플레어 설정 파일(XML)맵이나분위기에따라서플레어에변화를줄 수 있다.
디자이너가결정할수있게한다렌즈 플레어의 차폐 처리 #1태양이 렌즈 (뷰포트)에서 벗어난 경우2D 투영 좌표가 해상도를 벗어나는 경우를 체크하면 된다.
렌즈 플레어의 차폐 처리 #2태양이 건물이나 나무등의 오브젝트에 가려지는 경우‘카메라 위치 ㅡ> 태양’ Ray(3D)를 쏴서충돌을 계산한다(픽킹과 같은 원리)중간에 충돌되는 물체가 있으면 차폐된것

[0821 박민근] 렌즈 플레어(lens flare)