디렉터 시절 옛날 기억 한 조각.

예전에 오랫동안 같이 일했던 경영자의 스타일은 이런 식이었다. 회사 안에서 여러 프로젝트를 돌리면서 각 프로젝트에 대해서 다른 프로젝트의 장들에게 의견을 묻는다. ‘너네 A프로젝트 게임 해봤냐? 어떤거 같냐?’ 나도 딱히 좋은 소리는 안했지만 물론 우리 프로젝트에 대해서 다른 팀도 좋은 소릴 안했다. 저쪽이 예산을 많이 가져가면 상대적으로 우리가 손해보는 상황에서 좋은 소릴 해줄리가 있나. 각 팀의 … More 디렉터 시절 옛날 기억 한 조각.

내가 대형 프로젝트에 참여하길 꺼리는 이유.

1. 온갖 자질구레한 부분까지도 다 신경써야한다. 그래서 꼭 표현하고 싶은 핵심적인 기술을 구현하는데 집중하기 어렵다. 예를 들면 뛰어난 공간분할 기술로 아주 빠르고 깔끔하게 돌아가는 엔진을 만드는 이슈와 UI의 모서리를 이쁘게 처리하는 이슈가 동급이 될수도 있다. 아니 심지어는 그 중요도가 역전될수도 있다.   2. 개발에 참여하는 사람이 많아지므로 내가 기여하는 코드의 지분이 점점 줄어든다. ‘내 개인적인’ 기준으로는 내 … More 내가 대형 프로젝트에 참여하길 꺼리는 이유.

Azure N 인스턴스에서 Windows Update후 발생하는 문제 해결방법

1월 20일 페이스북에 적었던 Azure N인스턴스 문제. VM만들때 SSD타입으로 고르면 N인스턴스는 목록에 안나옴. HDD타입으로 골라야 목록에 나옴-_-; 인스턴스가 만들어지고 처음 로그인 해보면 잘 작동함. 그런데 여기서 Windows Update후 리부팅 하고 나면 연결이 안됨. 리부팅 해도 안됨. 할당 취소하고 다시 시작해도 안됨. 할당 취소후 재시작 하고 Boot 진단에서 스크린샷을 보면 네트워크가 아예 끊긴것으로 표시되는 경우가 있음. … More Azure N 인스턴스에서 Windows Update후 발생하는 문제 해결방법

HoloLens 개발메모 #7

“이미지 떨림을 줄이기 위해 60프레임을 유지하라.” 이게 문서에서 계속 강조하는 내용이다. 그런데 아무리 봐도 불가능해보인다. DirectX런타임이 데스크탑 OS와 다른것인가? 에뮬레이터에서의 렌더링 속도도 느리다. 실제 HoloLens 디바이스는 에뮬레이터보다 더 느리다. 현재 디버그 빌드 기준으로 캐릭터 선택 화면에서 9프레임 정도 나온다. 같은 상황 PC버전은 1500프레임 정도 나온다. GPU성능이 나쁘다고는 예상하고 있었지만 너무 차이가 많이 난다. 뭐가 문제인지 … More HoloLens 개발메모 #7

HoloLens 개발메모 #6

HoloLens의 카메라를 다루는 방법에 대해서 약간 감을 잡았다고 생각했다. 이제 뭘 어떻게 해야할지 알겠다…라고 생각하고 앞으로 어떻게 진행할지 계획을 잡았다. 그런데 현재 프레임 레이트가 너무 안나온다. 이상할 정도로 안나온다. 문서에 보면 60FPS를 유지하라고 나와있지만 현재 이미지만 띄우는 타이틀 화면에서조차 30프레임이 안나온다. 에뮬레이터쪽이 성능이 더 나오긴 한다. 하지만 에뮬레이터에서도 60프레임은 안나온다. 같은 상황 데스크탑에선 400프레임을 넘기고 … More HoloLens 개발메모 #6

HoloLens 개발메모#5

1. 프로젝트 구성에 대한 조언 UWP나 기타 모바일 플랫폼도 마찬가지인데 VR이나 AR개발을 할때 정말정말 중요한 것. ‘반드시 데스크탑에서 돌아가는 베이스 프로젝트를 유지할것.’ 실제 개발은 데스크탑 버전으로 하고 모바일이나 VR버전은 문제가 없는지 검증하기 위해 존재하는 정도여야 한다; 소프트웨어의 품질에 있어 가장 큰 영향을 주는 것은 [코드수정->테스트->디버깅] 의 이터레이션의 빈도에 달려있다. 디버깅하기 어려운 환경에선 소프트웨어 품질이 떨어질수밖에 … More HoloLens 개발메모#5

HoloLens 개발메모 #4

오늘 적을 내용은 많지 않다. 하지만 디버깅(코드작성이 아닌)에는 정말 많은 시간이 들어갔다. 영상도 찍은 김에 짤막한 내용이라도 적는다. 1. Holographic API는 기본적으로 왼쪽/오른쪽 눈에 대한 view-projection matrix를 넘겨준다. 내 엔진은 왼손 좌표 기준인데, 이 매트릭스들은 빌어먹을 오른손 좌표계 기준이다. 일단 화면을 보는게 급했기 때문에 view matrix로부터 eye position, eye direction, up벡터를 추출해서 왼손좌표계 기준으로 view … More HoloLens 개발메모 #4

2013년의 어느날 디버깅 메모(windbg)

2013년 12월 27일 , Project D Online 출시 준비할때였다. 첫번째 보스(벽에서 미사일 쏘는 보스-혼두라 모티브)랑 싸우고 나오면 나와서 맵체인지 할때 게임이 멈추는 증상이 있었다. 멈춘다고 하는것은 플레이어 입장이고 정확하게 얘기하자면 데드락 아니면 무한루프인데 이 경우는 데드락이었다. 데드락은 데드락인데 그게 어플리케이션이 사실상 크래시한거고 크래시에 의한 데드락이었다. 버그 재현도 잘 되지 않아서 엄청나게 절망했었다. 최초 같은 사무실에 … More 2013년의 어느날 디버깅 메모(windbg)

HoloLens 개발메모 #3

1. HoloLens는 Render Target Array를 사용한다. 그래서 Deferred 쉐이딩을 비롯 모든 종류의 오브젝트를 렌더링할때 Render Target Array를 사용하도록 엄청나게 뜯어고쳤다. 싸그리 다 고치고 예전에 만들었던 게임까지 무사히 작동하는지 확인했다. 시간 꽤 걸렸다. 그리고 양쪽 눈에 해당하는 view-proj matrix L-R에 대해서 matrix를 던져줄 수 있도록 함수를 하나 열어놨다. 2. Ok. 이제 HoloLens에서 view-proj 매트릭스만 받아오면 된다. … More HoloLens 개발메모 #3

HoloLens 개발 메모 #2

Holographic API는 RenderTexture Array를 이용해서 해서 양쪽 눈 각각에 대해 렌더링을 수행한다. 이게 분명히 성능상 이득이 있다. 문제는 이렇게 만들려니 기존 코드를 와장창 갈아엎어야한다. 일단 Holograhic 디바이스에서 사용하는지 아닌지 여부에 따라 shader코드와 렌더링 코드가 달라져야 한다. 기본적으로 HoloLens디바이스는 DX11.3을 준수하므로 Shader의 모든 스테이지에서 SV_RenderTargetArrayIndex를 지정할 수 있다. 하지만 에뮬레이터의 경우 에뮬레이터를 실행하는 PC의 GPU가 스펙을 … More HoloLens 개발 메모 #2