DirectX 11 Game engine for win32,UWP

요새 만들고 있는건 이런것. C++ DirectX 11엔진이다. 요새 계속 포스팅했던 내용을 영상으로 찍어서 올려본다. win32버전을 기본으로 UWP앱 버전을 만들었다. 첫번짼 win32, 두번째는 데스크탑에서의 UWP app , 세번째는 Windows 10 Phone에서의 UWP App. DX11 Feature를 지원하는 리얼 윈폰 하드웨어에서 실행하고 싶었지만 루미아 950을 구하지 못해서 그냥 에뮬레이터로 돌렸다. 루미아 1520으로도 작동할순 있지만 Feature Level 9.3으로 돌려야하고 … More DirectX 11 Game engine for win32,UWP

megayuchi 엔진 win32 -> UWP 포팅작업 #3

Voxel Horizon 프로젝트에 사용중인 내 엔진-megayuchi엔진의 포팅작업 마무리. 데스크탑 DX11엔진에 UWP엔진 코드를 완전히 맞췄다. 그 UWP 엔진에서 다시 렌더러를 DX Feature Level 11과 Feature Level 9의 두개 버전으로 갈라서 별도의 DLL을 만들었다. 마음같아선 Feature Level 9용 엔진따위 갖다버리고 싶지만 내 루미아 1520을 비롯해서 앞으로 상당기간동안 11을 지원하지 않는 폰들이 대부분일테니까. 일단 윈폰 에뮬레이터에서 DX11피쳐는 돌아감. … More megayuchi 엔진 win32 -> UWP 포팅작업 #3

Voxel Horizon on Windows 10 UWP – DirectX Feature Level 11

megayuchi엔진의 UWP버전에 데스크탑 버전의 기능을 거의 99% 포팅했다. DirectX 11은 실제로 DirectX 11의 기능을 준수하지 못하는 디바이스에서도 작동할 수 있다. Feature Level이란 단계로 구분하는데 9.0, 9.1, 9.3 , 10.0 , 11.0 등으로 구분한다. 예를 들어 DirectX 9세대의 그래픽 카드인 경우 Feature Level 9.0으로 D3DDevice를 생성할 수 있다. 당연히 DX11의 기능은 사용하지 못한다. 다만 프로그래밍은 DX11로 할 수 … More Voxel Horizon on Windows 10 UWP – DirectX Feature Level 11

가변인자 함수 진짜 가변적으로 호출하기.

나는 엔진 코드에서 가변함수 scanf,fscanf등의 함수를 진짜로 가변적으로 호출하곤 했다. 예를 들면 스크립트를 파싱해서 2개의 문자열을 읽을지, 3개의 문자열을 읽을지를 결정해야한고 치자. 코드는 이런식이다. fscanf(fp,”%s %s”,buf0,buf1); // 2개를 읽을 경우 fscanf(fp,”%s %s %s”,buf0,buf1,buf2); // 3개를 읽을 경우   이걸 n개의 문자열을 읽는다고 치면? 모든 n개의 케이스에 대해서 fscanf(문을 일일히 다 만들어놓을순 없지 않은가? “%s “부분은 … More 가변인자 함수 진짜 가변적으로 호출하기.

Windows Phone 8에서 DX11 + C++ 개발의 추억

2년전, 그러니까 2013년 딱 이맘때… 내가 만든 엔진을 Windows Phone 8에 포팅하던 기억들. 그때 얼마나 빡쳤는지 모른다. 이 때의 일들이 계기가 되어 MVP가 됐다. … 그리고 그때의 문제들이 지금 Windows 10 UWP에서 다~~~ 해결되었다. 진작 좀 제대로 했으면 지금 WIndows Store에 게임이 넘칠텐데. ————————————————————————————— 현재까지 느낀 Windows Phone 8용 게임 개발에 있어서의 장애물 (2013년 11월 … More Windows Phone 8에서 DX11 + C++ 개발의 추억

Voxel Horizon on Windows 10 UWP

예전에 win32, Windows 8.1/Windows Phone 8.1로 만들었던 Voxel Horzon프로젝트를 Windows 10 UWP로 포팅했다. 기본적으로는 Windows 8.1의 WinRT코드를 사용했고 Windows 10에서 추가된 win32 api들을 사용해서 코드를 좀더 간결하게, 데스크탑버전과 유사하게 맞출 수 있었다. 특히 SetCurrentDirectory(),GetCurrentDirectory()를 사용할 수 있게 된 것이 엄청 큰 도움이 됐다. 장난감같은 정도로라도 완성 지어서 Windows Store에 올려야지.

서피스폰 루머에 대해

서피스폰에 대한 루머가 도는데 MS가 정말 그런 물건을 만들고 있는지는 알수 없다. 다만 루머로만 끝날 가능성이 매우 높다고 생각한다. 우선 서피스폰을 출시하라고 말하는 사람들이 생각하는 서피스폰이 뭔지 모르겠다. 그 사람들이 서피스를 써보기나 한거야? 모뎀칩을 내장한 폰 사이즈의 Windows 10 풀버전이 돌아가는 디바이스를 말하는건가? 이것이 맞다면 난 이런 물건은 나와도 확실하게 망한다고 말하고 싶다. x86 서피스를 … More 서피스폰 루머에 대해

발표 영상 – 프로그래밍 언어의 F1머신 C++을 타고 Windows 10 UWP 앱 개발의 세계로~

강좌영상 – MS Techdays 2015   발표자료 MS Techdays 2015 Korea에서 발표했던 영상이 올라왔네요 지금 보니 발표자료가 잘못됐네요. task.get()은 UI스레드가 ‘아닌’ 스레드에서만 호출할 수 있습니다. ch9 https://channel9.msdn.com/Events/TechDays/TDK2015/T4-6/player

MS Techdays 2015 저녁때 MS본사 직원분들이랑 식사한 얘기

지난 테크데이즈 2015 행사날 저녁때 미국 MS본사에서 오신 Ulzii Luvsanbat 씨와 Ayman Shoukry 씨 두분과 C++ MVP들이 모여서 저녁식사를 했다. 대화 내용 몇가지 적어본다. 저녁먹을때 잡담한건 NDA아니겠지.설마.. 내가 영어를 못하는 관계로 많은건 물어보지 못했다. 다른 MVP분들이 이런저런 질문을 했으나 내가 한 질문은 아니므로 생략한다.질문의 저작권을 존중하여… … Ulzii Luvsanbat 씨는 내가 몇년전 KGC때 강연을 들은 … More MS Techdays 2015 저녁때 MS본사 직원분들이랑 식사한 얘기