목록2019/12 (4)
Graphics Programming
도대체 언제적 상태인지 내 블로그를 뒤져보니 2016년 1월이었다. 갓 대학교 4학년 된 때구먼 -_-; 이 때 보더랜드 2를 그렇게 열심히 했는데. 취업하고 손을 놓았다. 집에서 게임을 하도 해서 게임이 질릴 때만 코딩했더니 3년간 만든 게 톤 매핑, 스켈레탈 애니메이션, 뎁스 오브 필드 뿐이다. 이건 올해 시작한 CPU 레이트레이서인데 OpenGL 프로젝트가 눈에 밟혀서 얼마 못 만들고 우선순위에서 밀렸다. 그래도 만들어보니 "OpenGL이나 DirectX로 리얼 타임 렌더링을 해야지 무슨 요즘 시대에 CPU 레이트레이서임?" 은 정말 잘못된 생각이었다. 훨씬 적은 코드로도 품질이 그럭저럭 나오며 PBR이나 라이팅 이론을 이해하기 훨씬 좋은 환경이라고 생각한다. 코드 막 뜯어고치는 중인 지금의 결과물..
멀티쓰레딩한다고 기존의 모든 gl 호출에 커맨드 리스트를 붙이다가 진이 빠져서 잠시 외도를 하고 있다. 메인 쓰레드와 렌더 쓰레드에서 쓸 데이터를 분리하는 작업이 남아있지만, 리팩토링의 문제점은 아무리 해도 화면에 보이는 결과물이 같다는 것이다. 그게 리팩토링의 목적이기도 하지만. 다행히 씬에 대한 렌더 프록시를 만드는 작업은 나중에 해도 렌더러 내부를 크게 건드릴 게 없어보여서 조금 미뤄도 큰 작업으로 번지지는 않을 것 같다. 먼저 엔비디아 FXAA를 붙여보기로 했다. 소스코드를 찾아보니 NVIDIAGameWorks 샘플에 들어있었다. https://github.com/NVIDIAGameWorks/GraphicsSamples FXAA 코드를 너무 잘 짜놔서 내 플랫폼에 맞게 #define 몇 개 넣고 ..
종이책에 무슨 미련이 그렇게 있었는지 차곡차곡 쌓다가 드디어 버릴 결심을 했다. 컴퓨터 책상 옆에 보조 책상을 놔뒀는데 금방 책으로 가득 차서 뭘 하지 못하게 된 것도 있고, 몇 년째 펼치지 않은 책도 허다하고, 더이상 내 인생과 상관이 없을 것 같은 책들도 있다. 무엇보다 이사할 때 힘들어 죽겠다. 가구나 전자제품 같은 보편적인 이삿짐은 적은데 책 싸느라 항상 고생이 이만저만 아니었다. 막상 그대로 내다버리기는 또 미련이 남아서 빠르게 훑어보고 컴퓨터에 정리한 다음 버리는 책도 있다. 교양서, 소설, 쓸모 없는 전공서적, 이제는 관심 없는 프로그래밍 서적 등을 버리고 있다. 대학교에서 배운 무선이동통신. 큐잉 이론에 관한 수학은 재밌었는데 그 외에는 별로 재미 없었다. 예전에는 셜록 홈즈, 애거서 크리..
회사 다니면서 내팽겨쳐둔 OpenGL 렌더링 엔진을 다시 꺼내서 손보고 있다. 그래도 엔진 프로그래머랍시고 3년을 굴렀더니 잘못된 게 너무 많이 보여서 아키텍처에 또다시 대규모 공사를 하고 있다. 이 엔진을 바닥부터 다시 만드는 수준으로 갈아엎은 적이 이미 3번은 넘은 것 같은데 볼 때마다 엉망이다. 차라리 DirectX 12나 Vulkan으로 새로 만드는 게 낫겠다고 생각하다가도, 그러면 중간에 그만둘 거 같아서 이미 만든 걸 손보기로 했다. 그리고 이런 API는 쓰기 번거로워서 회사에서 돈 받으면서 코딩해야 한다. (크로스플랫폼 개발도 마찬가지다. 엑스박스 타이틀 개발하는 게 멋진 경험일 줄 알았는데 똑같은 걸 서로 다른 플랫폼들에서 돌아가게 하는 건 노가다일 뿐이다. 회사에서 돈 받고 해야지 집에서..