vertex lighting : vertex color를 활용한 lighting.
Shader에서 vertex color 만 지원한다면 간단하게 조명효과 구현이 가능한 방법.
디테일한 연출을 할려면 mesh가 증가하겠지만 모델링단계에서 이런부분을 고민한다면 어느정도 연출은 가능할듯.
Per pixel lighting : UV 2nd Channel을 활용해 픽셀당 라이팅을 표현하는 방식. 아마도 일반적인 lightmap을 활용한 라이팅을 이야기 하는듯 함(자료 찾아봐도 그런 이야기 같던데.. 음... )
Global illumination
Phong shading model 에서는 주광이 되는 directional light에 의해 표현되는 오브젝의 빛의 색은 diffuse 와 specular 로서, 오브젝트의 빛에 의한 간접광과 반사광은 ambient 컬러로써 표현된다. 아래 Radiosity에서 설명하겠지만 연산문제로 인해 ambient color가 일정한 색으로써 표현된다.
ambient occlusion 과 같은 기법을 사용해 ambient 성분을 보강하기도 하는데, 이러한 것은 한계가 있다. 예를 들어 붉은색을 반사하는 object 가 있다면, 그 주변의 object 들은 그 object 에서 튕겨 나온 빛의 영향을 받아서 붉은색을 띄어야 하지만, 우리가 사용하는 실시간 shading( 혹은 lighting ) model 들에서는 ( 성능 문제 때문에 ) 그러한 계산을 하기 어렵다.
하지만 실사적인 느낌으로 rendering 을 하기 위해서는 ambient 항을 제대로 계산할 필요가 있다. 이를 가능하게 하는 것이 global illumination 이다. Global illumination 은 광원을 direct 성분과 indirect 성분으로 나누어 처리하는 algorithm 을 총칭하는 것이다.
개인적으로는 이러한 점의 보완으로 가장 간단한 방법이 ambient에만 영향을 주는 역광을 배치하여 라이트맵을 베이킹할때 그림자 영역에 대한 톤값을 보완하는 방법을 많이 사용했다.(ambient occlusion을 별도로 구워 합성을 해도 좋겠지만 lighting process 단계에서 가장 간단하게 하는 방법이 보조 라이트를 약하게 배치해서 쓰는게 효율이 좋긴 했다......)
참조 블로그 : http://lifeisforu.tistory.com/52
Radiosity : 빛의 반사를 표현하기 위한 계산방법.(개념적으로 설명하자면 반사광에 의한 물체의 표현.(쉽게 생각해서 빛의 반사와 간접광에 의한 물체의 표현을 말하는 듯. 물체의 크기 폴리의 양에 따라 메모리에 부하를 많이 주는 듯. 당연히 인접한 오브젝트가 많고 간섭하는 영역, 빛이 많아질수록 연산도 늘어난다)
참조 블로그 : http://blog.naver.com/siroccoz?Redirect=Log&logNo=130141147742
덧글
1. culling 기법에 대한 포스팅은 다음에....(Backface culling, Frustum culling등등등..... seamless, zone loading등 여러 개념들이 뒤죽박죽이라... 하루만에 하긴 힘드네...)
2. UDK Decal을 활용한 Terrain의 제작 퀄리티.
'Technical Report > Unity Shader' 카테고리의 다른 글
Unity3D lightmapping Menu 설명 (0) | 2012.11.08 |
---|---|
Autodesk Media & Entertainment 2012 (4) | 2012.07.23 |
Cg Shader Programming (0) | 2012.07.12 |
120710 아트 세미나 Photoshop Tool and Tip (0) | 2012.07.08 |
binormal, tangent normal (5) | 2012.05.24 |