2010년 6월 20일 일요일

이것 저것: 현 샤도우 매핑 기법들

2010년 6월 14일 월요일

실시간 DXT 압축

최근에 이 페이퍼를 읽을 기회가 있었습니다. 게임 속에서 실시간 또는 오프라인에서 노말맵을 DXT로 압축하는 방법을 설명합니다. 탄젠트 공간과 오브젝트 공간을 모두 다룹니다.



DXT 압축은 품질저하가 있는 압축기법이지만 다음과 같은 이유로 거의 모든 게임이 사용한다고 해도 과언이 아닙니다.
  • 사이즈 절약 효과가 뛰어납니다. 알파채널이 있으면 1/4, 알파채널이 없으면 1/8
  • 거의 모든 그래픽스 카드가 하드웨어 레벨에서 DXT 포맷을 지원합니다. (따라서 성능저하가 거의 없습니다)
단 문제점은 압축하는데 시간이 꽤 걸린다는 것이죠. 하지만 위의 페이퍼를 사용하면 품질은 보통 DXT보다 저하되지만 그래도 쓸만한 효과를 얻을 수 있습니다. 저 스스로도 이 방법을 사용해서 이미 Xbox 360 및 PS3용 게임을 출시했고 현재도 사용하고 있습니다. PS3외의 하드웨어에서는 GPU 버전이 더 빠를겁니다. (PS3는 SPU를 이용하는 DXT압축 라이브러리가 있습니다)

다음의 Albedo 맵을 압축하는 기법을 설명하는 다음의 페이퍼들도 참고하세요

2010년 6월 12일 토요일

이것 저것: 데칼로 자동차 뽀작내기

최근에 발견한 흥미로운 토픽들:

  • Game Developer 잡지 2010년 7월판에 Decal Tessellation이라는 기사가 실렸습니다. 데칼(decal)을 이용해서 자동차를 뽀작내는군요. DirectX 11 카드가 필요합니다. FPS 게임을 하다보면 벽에 총을 쏘면 벽에 총알 맞은 자국이 생기죠? 그런게 데칼입니다. PS3용 게임 Little Big Planet에서 스티커 붙이는 것도 데칼입니다.
  • PS3 하고 Xbox360 둘다 3차원 TV지원을 한답니다.  매우 소규모 시장인 것도 문제고, 3차원 TV보면 두통이 나므로 아직은 성공하기엔 시기상조 같네요.
  • 샤도우 맵에 Percent Coverage Filtering를 사용하신다면 샤도우 마스킹 테크닉을 통해 성능향상을 꾀할 수 있습니다. 단 이 페이퍼에 실린 측정수치는 그다지 믿을만 한게 못됩니다. 일부로 간단한 장면에서 테스트를 했고, 화면의 절반을 스카이박스가 덮고 있네요. 좀 현실적인 장면으로 테스트를 했었으면 하는 바램입니다.

안녕하세요 블라인드 렌더러입니다.

안녕하세요. 블라인드 렌더러, 포프입니다. 한글로 글을 쓰는 것이 얼마만인지 모르겠습니다. 2002년에 처음 캐나다로 왔을 초기엔 한글로도 글을 많이 올리곤 했는데 점차 한국과의 교류가 적어지다 보니 한글로 글을 쓸일도 없었던 것 같습니다. 거기다가 새로운 환경에서 게임회사에 자리잡느라 바쁘기도 했고, 대학강의 나가느라 시간이 빠듯하기도 했지요.

이렇게 다시 한글 블로그를 열게 된 이유는 사실 아직까지도 저하고 간간히 안부를 나누는 몇몇 분들과 갈렉산드리아를 이용하시는 분들의 요청에 의해서입니다. 생각보다 많이 북미쪽 개발환경에 대해 궁금해하시더라구요? 이 블로그를 통해 제가 지난 몇년간 쌓은 -- 그리고 앞으로도 계속 쌓을 -- 경험을 한국에 계시는 개발자 분들과 공유할 수 있으면 합니다.

오랫동안 안쓰다 보니 한글로 글쓰는게 참 어눌하고 어색합니다. 너그러이 봐주셨으면 합니다.