혼자 개발하기

개인 프로젝트는 여전히 진행중이지만 어렵다. 어렵다. 사소한 문제에 부딪쳐도 해결하기 전까진 사소한 문제가 아니다. 나중에 사소한 문제로 밝혀지더라도 몇일씩 시간을 잡아먹는 일은 흔하다. 그리고 그 동안 프로젝트는 스톱된다. 단 한사람의 동료라도 있으면 다르다. 내가 진행을 못해도 프로젝트 전체로 보면 단 한픽셀 분량이라도 프로젝트는 진전된다. 게다가 막상 게임을 릴리즈하고 싶으면 이건 개발은 둘째 문제다. 배포는 어떻게 … More 혼자 개발하기

VS2017 버그 관련

사용환경 OS : Windows 10 RAM : 128GB CPU : XEON E5-2620 v3 6core 12 Threads 1. Visual Studio Online의 TFS를 사용중. 2. 100% C++ 프로젝트 3. 하나의 EXE에서 여러개의 DLL을 사용하는 프로젝트이므로 exe와 DLL각각에 대해서 VS2017을 따로 띄워서 사용하고 있음. 일반적으로 4개 이상의 VS2017을 동시에 사용. 4. 각각의 VS2017각각은 x86/x64/debug/relase로 4개의 설정에 대해 batch build를 … More VS2017 버그 관련

게임 프로그래밍이 만만해 보이냐?

2003년도 코룸온라인 클베 하기 직전이었다. 다음은 어느 코룸 유져가 코룸온라인 홈피에 남긴 글중 일부이다.. ——————————————————————– 4.세부소견-프로그래밍/네트워크 [ 코룸은 디아블로2의 엔진을 사용했다.] 그것은 디아블로2의 뛰어난 액션성을 그대로 장점으로 만들 수 있는 가능성이 있다는 것을 의미한다. 그리고 그것은 반드시 코룸이 갖춰야할 장점이기도 하다. 개인적으로 시스템엔지니어이긴 하지만 사실 게임 프로그래밍은 세부적으로 어떻게 돌아가는지 잘 모른다. 기회가 된다면 소스를 … More 게임 프로그래밍이 만만해 보이냐?

간만에 DX11 vs DX12 관련 잡설

DX12엔진 작업하느라 DX11엔진은 한동안 방치상태였는데 요 근래 Hololens 작업하면서 DX11엔진을 집중적으로 뜯어고쳤다. 그 와중에 약간의 최적화도 이루어졌고 기능도 추가됐다. DX11엔진의 변경분을 DX12엔진에 반영하면서 HLSL Shader코드를 똑같이 맞췄다. DX12에서 특별한 기능 추가된게 거의 없기 때문에 일반적으로 쉐이더코드는 그냥 공유한다. MS샘플도 그렇게 되어있다. 나도 최대한 공유하고 싶었다. 하지만 DX12엔진 작업할때 Constant Buffer 메모리 관리가 워낙 빡세서 이걸 좀 … More 간만에 DX11 vs DX12 관련 잡설

Hololens개발 메모 #11 – Resource leak 체크

1. UWP on Hololens에서의 resource leak 체크 UWP App은 명시적인 종료가 없으므로 리소스에 대한 leak체크가 쉽지 않다. 그래서 suspend이벤트나 아니면 임의의 버튼같은걸 만들어서 가상의 종료처리를 하고 이 시점에 leak체크를 하도록 하고 있다. Hololens버전은 UWP앱이지만 일반적인 DirectX on UWP앱과는 차이가 있다. swapchain을 사용하지 않는다. 즉 일반적인 UWP앱은 swapChainPanel이라는 XAML 객체를 가지고 있고 이 녀석과 D3D가 연결된다. … More Hololens개발 메모 #11 – Resource leak 체크

Hololens개발메모 #10

Hololens의 웹포탈에서는 영상을 720p의 해상도로만 캡쳐할 수 있다. 코드에서 Windows::Media::Capture API를 직접 호출하면 1080p의 해상도로 캡쳐가능. 단 투영되는 3D그래픽스의 해상도는 프레임 버퍼의 해상도를 따르므로 그래픽스 영상 자체의 품질은 큰 차이 없음.

설계하지마라.

토요일 C++ 코리아 세미나에서 비는 시간에 어느 학생분이 질문을 해왔다. 설계에 대해서 어떻게 생각하냐고…라기보다 설계를 어떻게 해야하느냐..에 가까웠던거 같은데..어쨌든. 딱 잘라서 말했다. “설계하지 마세요.” “그냥 졸라 프로그램을 짜세요.” “같은 프로그램 세번쯤 만드세요.” 설계라는건그 도메인(나 이 말 정말 싫어한다.마땅한 표현이 없어서 적었다)에 대해서 훤히 알고 있고 코드를 짠 경험도 많을때나 하는거다. 소켓프로그래밍을 한번도 안해본 사람이 네트워크 … More 설계하지마라.

HoloLens 개발메모#9 – 충돌처리

Spatial Mapping을 이용한 데모 개발중 Spatial Mapping으로 삼각형 리스트를 얻어온다. 월드 영역을 Grid로 쪼개서 삼각형들을 담는다. 각 삼각형들은 Holographic API에서 제공하는 Surface Mesh로부터 얻어온다. 그리드의 각 Cell경계로 삼각형이 걸칠 수 있다. 따라서 Cell들은 여러개의 Surface Mesh와 연결될 수 있고 각 Surface Mesh는 여러개의 Cell과 연결될 수 있다. Surface Mesh는 시시각각 업데이트 된다. 삼각형 리스트가 갱신될 … More HoloLens 개발메모#9 – 충돌처리

HoloLens 개발메모 #8 – Spatial Mapping

HoloLens의 기능은 크게 3가지 영역으로 나눌 수 있다. 1. HoloLens에서 HUD부분. 다른 VR과 달리 HUD에 영상을 투영하므로서 바깥 사물을 여전히 볼 수 있다. 이 기능 자체는 프로그래머가 컨트롤 할 수 없는 하드웨어의 고유영역. 2. 입체영상을 출력해주는 부분. 다른 VR과 원리가 별로 다르지 않음. API사용법도 크게 다르지 않음. 3. 가장 다른 부분이 Spatial Mapping이라는 실시간으로 주변 공간을 … More HoloLens 개발메모 #8 – Spatial Mapping