Windows 10 vs Windows 11 IME 메시지 순서의 차이

작년 즈음인가 Windows 11에서 VOXEL HORIZON을 Windows 11에서 실행했을때 한국어를 입력하면 글자가 2개식 입력되는 문제가 있음을 발견했다. 처음에는 Windows 11의 문제라고 생각했고 조만간 해결되겠지..라고 대수롭지 않게 생각했다. 한참 테스트 방송을 진행할 무렵에는 Windows 10을 사용하고 있었고 문제가 없었다. 그러다가 어느 시점부터 테스트 방송도 더 이상 하지 않게 됐다. 그리고 Windows 11로 업그레이드 했다. 최근에 VOXEL … More Windows 10 vs Windows 11 IME 메시지 순서의 차이

Surface Pro X benchmark from the programmer’s point of view.

Windows on ARM I love Windows. Of course, I don’t have much attachment to Windows 3.1 and 95, but I really love Windows after the NT kernel. I also like Windows programming. Windows programming with Visual Studio is fun. So I was very excited when I heard about NT kernel-based Windows running on a CPU … More Surface Pro X benchmark from the programmer’s point of view.

프로그래머 관점에서의 Surface Pro X 벤치마크

Windows on ARM 나는 Windows를 사랑한다. 정말로 사랑한다. 물론 Windows 3.1과 95에 대한 애착은 크지 않지만 NT커널 이후의 Windows는 정말 사랑한다. 또한 Windows 프로그래밍을 좋아한다. Visual Studio로 Windows프로그래밍을 하는 것은 즐겁다. 그래서 x86이외의 CPU에서 돌아가는 NT커널 기반의 Windows의 소식을 들었을때 무척 흥분했다. Visual Studio로 ARM디바이스에서 돌아가는 Windows 어플리케이션을 개발할 수 있다니! 물론 초기 Windows Phone … More 프로그래머 관점에서의 Surface Pro X 벤치마크

win32 + C++/CX프로젝트에서 ConformanceMode때문에 생기는 문제

https://blogs.msdn.microsoft.com/vcblog/2017/11/15/msvc-conformance-improvements-in-visual-studio-2017-version-15-5/ Visual Studio 2017 15.5로 업데이트 하면 ConformanceMode란 놈을 디폴트로 켜버린다. C++ 표준을 준수하게 하는 모드라고 한다.(니미 난 내 제품 만드는게 중요한데 C++표준이 알게 뭐냐. 사실상 게임업계에선 MSVC가 표준이지.) 이전에 만든 프로젝트라면 상관없지만 새로 만드는 프로젝트는 ConformanceMode가 켜지게 된다. pure UWP 프로젝트는 아직 테스트 안해봤지만 Desktop App에서 C++/CX를 이용해서 UWP API를 호출하는 경우 문제가 된다. … More win32 + C++/CX프로젝트에서 ConformanceMode때문에 생기는 문제

Desktop App + UWP App + UWP App Service를 이용한 MS live account 인증

Desktop App + UWP App + UWP App Service를 이용해서 기본적인 MS Account 로그인을 구현했다. 이번 프로젝트에선 회원가입을 받지 않을 생각이다. 회원 가입용 웹사이트도 만들지 않는다. 이전에는 두 가지 방식을 사용했다. 웹사이트에서 회원가입을 받으면 웹사이트에서 Game DB에 연결하여 계정 생성 steam로그인일 경우 클라이언트에서 steam API를 통해 steam id를 얻는다. 게임서버로 steam id를 전송하고 게임서버는 서버용 … More Desktop App + UWP App + UWP App Service를 이용한 MS live account 인증

Windows Application Packaging Project를 이용해서 만든 Destktop Bridge app에서 UWP App과 interop하기.

최근 Visual Studio 15.4.1에 Windows Application Packaging Project 템플릿이 추가됐다. 이 템플릿을 이용하면 손쉽게 데스크탑 어플리케이션을 AppX로 패키징할 수 있다. 그 방법이 너무나 쉬우므로 자세한 설명은 달지 않는다. 링크 참조. https://blogs.windows.com/buildingapps/2017/10/18/visual-studio-2017-update-4-makes-easy-modernize-desktop-application-make-store-ready/ 그런데 github의 MS샘플도 그렇고 어디에도 이 템플릿을 사용했을때 uwp app과 interop하는 예제는 없다. 내가 원하는 샘플과 자료는 아래 링크의 내용이다. https://docs.microsoft.com/en-us/windows/uwp/porting/desktop-to-uwp-extend 그런데 빌어먹을….이건 VS2017에 … More Windows Application Packaging Project를 이용해서 만든 Destktop Bridge app에서 UWP App과 interop하기.

MS 모바일의 삽질의 역사

2001년인가 2002년인가 Windows XP랑 DirectX 8이 나왔을때 한국에서 MS의 뭔 세미나가 있었다. 아마 장소가 건대였을거다. MS 본사 직원 몇명이 발표를 했고 동시통역이 있었다. 별로 의미있는 얘긴 없었던걸로 기억한다. XP의 fast user switching 짱짱 좋으니 꼭 쓰세요~ 라는 얘기만 줄창 했던거 같다. 그리고 난 먼저 귀가했고 나중에 동료한테 재밌는 얘기 없었냐고 물어봤다. 누군가가 Windows CE에서 DirectX지원 … More MS 모바일의 삽질의 역사

UWP with C++로 Battery 상태 얻어오기

갑자기 필요해서 UWP, 정확히는 내 윈폰에서 배터리 상태를 얻어올 필요가 생겨서 급히 찾아봤다. Windows::Devices::Power 네임스페이스의 API를 사용하면 된다는 정보는 금방 찾았지만 C++로 구현하는 자료는 어디에도 없다. 아무리 뒤져봐도 없다. C#이라면 이런 식으로 간단하게 구현할 수 있다. 이 스타일 그대로 C++로 바꿔서 코딩해보면 컴파일에 실패한다. Battery^ 객체를 직접 억세스하는건 불가능한것 같다. 그 다음 시도. 아래와같은 방법으로 … More UWP with C++로 Battery 상태 얻어오기

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

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

HoloLens 개발 메모 #2

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