allgd.net 라는 사이트를 통해 여러 개발자 분들의 생각을 많이 보고 느끼고 있는 도중
http://cagetu.egloos.com/ 라는 분의 사이트에서 deferred 에 대한 공감가는 부분들이 있어 글을 적습니다.
요즘 게임에서 지연렌더링이 필수인가 라고 한다면.. 전 아닌것 같다는 의견입니다.
필수가 아니라는 거죠.
물론 내부지형에서 많은 수의 라이트가 동적으로 오브젝트들에 빛을 조사하는 형태가 필요한 게임이라면,
혹은 외부지형에서라도 특정 이벤트에 따른 수십개의 빛이 동적으로 계산되어야 하는 경우라면,
또 다른 부분이라 생각듭니다.
하지만 위의 경우라 하더라도, 실제 단일 객체가 영향을 받는 라이트 수는 사실 생각보다 많지는 않습니다.
책상, 의자, 가구, 말, 자동차 등과 같이 일반적인 크기의 단일 객체라면, 실제 태양광 과 역광을 제외한 영향을 받는 라이트가
3개 이상만 되어도 크게 잘 느껴지지가 않더군요. 그래서 대략 5개 정도라면 (태양광, 역광을 포함한 7개정도?) 충분히 다양한
느낌을 표현 할 수 있지 않을까 생각이 듭니다.
물론 큰 건물 이라던지, 지형 이라던지 와 같은 큰 객체의 경우라면 적용되는 라이트가 넓은 공간에 걸쳐서 많이 존재하기에
작은수의 라이트로는 표현이 안 될지 모르지만, 그 부분의 경우라도, 데칼을 통한 실시간 라이트 묘사 등을 같이 활용한다면
충분히 표현 할 수 있지 않을까 라고 생각이 듭니다.
물론 최근 게임들이 글로벌 라이팅에 대한 여러가지 시도를 많이 하고는 있고, 그에 따른 라이트 사용수가 엄청나게 증가는
하고 있지만, 이 역시 화면 후처리를 통해 어느정도의 수준까지는 표현 할 수 가 있지 않나 생각 합니다. (아니면 라이트맵 -_-;)
그러므로 제 점수는.... -_-;; 제 결론은
게임에 따라서 렌더링 방식을 정하는 것은 당연 하겠지만, 일반적인 상황에서조차 최신 기술 혹은 " 빠르다던데".. 등의 이유에서
지연렌더링으로 가는 것은 좋은 생각이 아닌것 같습니다.
충분히 foward 로도 표현이 ... ...
p.s. deferred 로 변경하면 퀄리티가 좋아진다더라.. 라고 이야기 하는 분들도 있었습니다. 물론 deferred 방식의 도입을 통해
얻어지는 여러가지 부산물로 다양한 후처리를 할 수는 있지만, deferred == 높은 퀄리티 를 이야기 하는 분들을 보면
좀 아니다 싶더군요. deferred 는 단지 빛 계산을 보다 효율적으로 처리하기 위한 방식일 뿐인데 말이죠..
빛 계산이 효율적일 뿐, foward 랑 다른 공식을 쓰는 것도 아니고..
