태그 : GameProgramming
2009/01/03 렌더링 최적화 기법 - 파티클 렌더링과 그 외 기법들 [2]
2008/12/28 예전 비공개 포스트 공개... [1]
2008/11/26 Custom Schematic Editor [4]
2008/11/23 Nebula2 스크립트 시스템 (1) [2]
2008/10/30 Deferred Shading
![]() | ![]() |
개발시 이용한 반구 라이트 설정 툴의 화면 | |
이미지를 클릭해서 보면 큰 이미지로도 볼 수 있는데, 본문에서 이야기나는 반구 조명이라는 Hemisphere Lighting 같은 것은 조명 때릴 때의 알고리즘에 대한 이야기이고, 방법의 핵심은 아티스트의 노가다에 의해서 충실하게 재현되고 있다...뭐 이런 이야기죠. ㅡㅡ;
또 같은 글의 바로 아래 본문에 보면 '분리 프리 라이팅'이라는 흥미로운 방법도 나옵니다.
이 방법은 정점 단위의 라이트맵이라고 하는군요.
구체적으로는 장면의 디자이너가 설정한 분리 프리 라이팅 전용의 광원으로부터 라이팅 결과를 사전에 배경 폴리곤 모델의 각 정점의 별도 속성에 굽는(저장해 두는) 테크닉이다.
![]() |
개발시 이용한 분리 프리 라이팅 설정 툴의 화면 |
역시 광원의 배치는 아티스트의 몫. 하지만 이번에는 라이트맵에 비해서 다음과 같은 장점이 있습니다.
또, 빛의 분포 해상도 자체가 정점 단위인 관계로 라이트 맵보다 대략적인 측면은 있지만, 그만큼 텍스쳐 메모리 소비가 압도적으로 적어지는 것이 메리트다. 덧붙여 배경 폴리곤의 각 정점에 라이팅 결과를 굽는 공정은 개발 단계가 아니고, 게임 기동 후 PS3 실기상의 런타임으로 수행한다. 이러한 동작 덕분에 동적인 장면 변화에도 대응할 수 있는 메리트도 있다
이 방법도 쉽지는 않은 것으로 알고 있습니다. 기술보다는 레벨 디자이너의 역량에 영향을 받는다고...알고 있습니다. (아직 이런 방법을 실제로 게임에 사용해 보진 않아서 말이죠~) 그래도 이 방법은 우선 런타임때 수행한다는 점에서 호감이 갑니다.
이 외에도 유사한 방법으로 지금 생각나는 것은 ShaderX에 소개된 (몇권인지는 기억이 잘) ambient field가 생각이 납니다 이 방법은 벽 등에 가까이 가면 상호 음영이 발생하는 방법에 대한 내용입니다.
음...윤정님 게임의 캐릭터들은 바닥에 붙어 있을텐데 MotoGP와 유사한 방법으로 해결하면 되지 않을까요?
제가 고민하는 문제는 라이트맵을 사용하면서 낮밤의 변화를 주는 방법인데요...그러면서도 레벨 제작시 베이킹을 거의 리얼 타임!으로 할 수 있는 방법을 찾고 있습니다. ㅡㅡ;;
# by | 2009/05/05 18:47 | Development | 트랙백 | 덧글(5)
# by | 2009/01/03 18:21 | Development | 트랙백 | 핑백(1) | 덧글(2)
# by | 2008/12/28 14:38 | Nebula Croquis | 트랙백 | 덧글(1)

# by | 2008/11/26 21:13 | Development | 트랙백 | 핑백(1) | 덧글(4)

# by | 2008/11/23 09:14 | Nebula Device | 트랙백 | 핑백(1) | 덧글(2)
아래 포스트 올린 김에 하나 더.
원래 비슷한 주제로 묶어서 공부하면 효과가 배가 되는데, 그런 의미에서 이번에는 Deferred Shading 관련한 내용(기초적인 내용으로 )을 정리해 보았습니다.
Deferred Shading에 대해서 잘 모르는 분들은 우선 이전 포스트 내용을 한번 쓰윽 흝어만 보고 GPG6의 "Fast Per-Pixel Lighting with Many Lights" 를 먼저 읽어 볼 것을 권합니다. GPG6의 이 글의 내용은 Deferred Shading 사용시 이 방법의 단점을 극복할 수 있는 다양한 기법들을 소개하는 것이 본 내용지만 글 앞부분에는 Deferred Shading에 대한 내용이 잘 정리가 되어 있어 다른 글에 소개된 내용보다 훨씬 이해가 쉽고 빠릅니다. 다음으로 GPU Gem 2의 "Deferred Shading in STALKER" 와 GPU Gems3의 "Deferred Shading in Tabula Rasa"에 소개된 를 읽으시면 실제 게임에 적용된 사례들이므로 실제 적용시 이 방법의 장단점에 대한 감을 잡을 수 있습니다.
(순서대로 보시길)
1) Game Programming Gems 6, Fast Per-Pixel Lighting with Many Lights
2) GPU Gems 2, "Deferred Shading in STALKER"
3) GPU Gems 3, "Deferred Shading in Tabula Rasa"
구글에서 Deferred Shading으로 검색만 해보아도 굉장히 다양한 자료들이 나와서 어느 것부터 봐야 할 지 당황스러울 수도 있습니다만, 이 순서로 정리하시면 어렵지 않게 가닥은 잡을 수 있습니다.
그리고 마지막으로 정리 차원에서 실제 예제로 구동되는 샘플을 하나 보면 더욱 좋겠죠. ^^
http://www.defragdev.com/
이제 여기까지 보셨다면 이전 포스트의 내용 중에서 Kill Zone2의 프리젠테이션 자료나 아니면 다른 변형된 방법들에 대한 링크된 내용들이 가볍게 쓱쓱 이해될 겁니다...아마도 ^^
# by | 2008/10/30 11:03 | Development | 트랙백 | 핑백(1) | 덧글(0)
◀ 이전 페이지다음 페이지 ▶