개발 노트 This is the reason why we make games 2017/10/12 17:36 by cagetu


나는 그냥 아이들이 이뻐보였을 뿐이데, 게임을 만들고 있으면서도 나도 잊고 있었다. 

이 트윗을 보고, 한 방 먹은 느낌이다! 

개발 노트 [Vulkan 일지] 삼각형을 그리기까지 정리~ 2017/10/11 01:48 by cagetu

Vulkan 시작이라는 글을 보니, 벌써 1년이 지나버렸다.. ㅡㅡ;; 솔직히 이렇게 오래걸릴 줄은 몰랐다. 회사 업무에 틈틈히 하다보니 이제 겨우, 시작점까지 왔다.

단순하게 삼각형 하나 그리는데 왜 이렇게 오래 걸리느냐? 라고 생각할 수 있다. 샘플을 보고, 그대로 단순하게 삼각형 하나 만드는 것은 어렵지 않지만, 진짜로 내가 사용해야 하는데, 그냥 넘어갈 수가 없었다. 그래서 인터넷에 공개된 모든 자료를 모으고, 읽고, 정리하고, 샘플 코드를 보기도 하고, 다른 엔진(UE4)의 코드를 보고 따라 만들어보기도 하면서 하나 하나 최대한 이해하려고 노력했다.

남는 시간에 틈틈히 만들다보니, 오랜만에 보면 이전에 공부했던 내용들이 기억이 나지를 않아서 틈틈히 발표자료 형태로 만들어서 이전 정리했던 것들을 보면서 리마인드 하고 다시 시작하고를 반복했다.


이런 결과로 삼각형 하나 그렸지만, 내부적으로 정리하면서 참 그래픽 api가 그 동안 어떻게 구현이 되었는가?에 대해서 많은 공부를 할 수 있었다.


내가 Vulkan 시작하면서 세운 목표가 몇 가지 있다. (올 해 말이나 내년에 할 수 있으면 좋겠는데.. 쩝..;;;)
  1. Vulkan을 기반으로 플래피버드라도 만들어서 구글 마켓에 출시해보자!
  2. Vulkan을 기반으로 공부한 것으로 KGC나 NDC에 발표나 한번 해보자! 정말 게임에 적용해본 경험으로!!!!
  3. 렌더링 및 엔진 개발 공부를 위한 연습장을 만들자!!! 

이제 겨우 준비작업을 마치고 출발점에 서게 되었으니, 지금부터 더 재밌게 만들어보자!!! 왠지 삼각형 하나 띄우고 감격스러워서 그만... 훗...;;;;

개발 노트 [Vulkan 일지] 삼각형 렌더링 성공!!!!!! 2017/10/08 03:20 by cagetu


파이프라인도 생성하고, 버텍스 버퍼도 추가하고, 인덱스 버퍼도 추가하고 등등.... 진행했는데, 안 나온다.. ㅠㅠ;;;;

하아~~~~ 어디서 잘못된 것일까???? 어렵도다!!!!! 컹~~~ 추석 연휴 끝날 때까지 삼각형 그려보고 싶었는데.. 쩝!!!


드디어!!!!! 삼각형 렌더링 성공!!!! 캬르르르르르~~~~~ 추석 연휴의 마무리를 그래도 뭔가는 해내는구나!!!


버텍스 칼라 추가!!!


개발 노트 요즘 관심있는 것~ 2017/09/29 10:09 by cagetu


개발 노트 HDR 톤매핑과 자동 노출 2017/09/22 18:43 by cagetu

NDC11 "올바른 HDR을 이용한 Bloom과 DOF" 발표한 이후, HDR 관련한 엔진 작업을 관심 가지고 본 지가 벌써 5년가까이 지났다. 솔직히, 저 발표자료를 만들 당시에 이론적으로는 많이 연구를 하고 테스트도 많이 해봤지만, 딱 마음에 드는 결과를 만들기가 너무 어려웠다. 아니 만들어내지 못했다는 표현이 맞을 것 같다.

지금 돌이켜보면 그 이유는 "톤 매핑"과 "노출 보정"이었다.
  • 톤 매핑이 공식대로 하면 원하는 것이 나올 것 같던데 왜 안되지? Filmic Tonemapping을 하면 되는거 아냐?
  • 자동 노출 처리 및 노출 보정에 대해서 전혀 감을 잡을 수가 없다. ㅡㅡ;;
시간이 많이 지나서 UE4의 톤매핑 관련 내용(High Dynamic Range Display Output)을 볼 기회가 생겼다. 당연히 코드를 볼 수 있으니까, 어떻게 구현했는지도 볼 수 있지만, 이게 왜 이렇게 되었는지에 대한 궁금증이 생겼다.

그 히스토리는 NVIDIA의 문서(High Dynamic Range Display Development)에서 찾아볼 수 있었다. 출력 기기에 따른 톤 매핑을 한다니!!! 그리고, 그것이 가능한 것이 바로 ACES라는 오픈 소스 프로젝트이다. 톤 매핑 표준이 생기다니!!! 개 멋지다!!!


노출에 대해서도 궁금해서 찾아보다가 Automatic Exposure에 대해서 지금까지 발전한 내용을 정리해 놓은 문서를 보았다. 나는 아직 솔직하게 주변에서 자동 노출보정을 완벽하게 사용하는 개발팀의 이야기를 들어본 적이 없다. 수동 노출 볼륨을 정하고 사용하거나 노출 보정 자체를 사요하지 않는다. 아직 자동 노출 보정을 완벽하게 믿고 사용하기에는 어렵지 않을까 생각이 들기도 했다. 하지만, 문서에도 나오는 메탈 기어 솔리드 예화처럼 나름 재밌게 표현되면 좋겠다 싶기도 하고, 솔직히 이것을 완벽하게 만들어보고 싶은 도전 욕구가 크다! (Compute Shader, Histogram, Deferred 등 대가가 너무 큰 듯!!!)

그래도 몇 년 동안 내용이 정리되었다!! 혹시 이번에 집에서 만들어보게 되면 진짜 잘 만들어봐야지! 그래도 (실패의) 경험이 있으니, 도움이 되기는 하는구나! ㅎㅎㅎ

재밌다!!!

1 2 3 4 5 6 7 8 9 10 다음



메모장

내가 먼 훗날에 이 글들을 보았을 때, 좋은 추억이 될 수 있기를...

나를 위해... 나에게 쓰는...

msn: cagetu@hotmail.com
mail: cagetu79@gmail.com
twitter: twitter.com/cagetu
facebook: facebook.com/cagetu