반응형

DirectX 7

[서평] DirectX 12를 이용한 3D 게임 프로그래밍 입문

최신 DirectX 12에 대한 입문서입니다. 워낙 유명한 저자의 책이기도 하고 역자 류광님도 유명하신 분이라 선택한 책입니다. 우선 인상 깊은 것은 책의 저자의 DirectX 11에 대한 입문서 책과 예제가 거의 비슷합니다. 내용도 상당 부분 동일합니다. 대부분의 예제가 DirectX 11 예제를 DirectX 12로 포팅하고 수정한 듯 보입니다. 물론 예제의 품질은 좀 더 좋아졌습니다. 이 분의 DirectX 11에 대한 책을 본 뒤에 읽는다면 많은 부분의 내용과 예제가 비슷하여 좀 더 쉽고 빠르게 이해할 수 있습니다. 이런 부분에서 DirectX 11입문서가 DirectX 라이브러리가 플랫폼 라이브러리로 된 후의 DX라이브러리를 사용하지 않고 쓰여진 개정판이 나왔었다면 좀 더 좋았을텐데라는 아쉬움도..

[서평] DirectX 11을 이용한 3D 게임 프로그래밍 입문

계속 연구하던 DirectX 9를 마치고 최신 DirectX 12를 공부하려는 중입니다. DirectX 12를 공부하려고 여기저기 공부 법을 찾아보는데 국내에서 자체 엔진 개발하시는 분도 그렇고 외국 사이트의 개발자도 그렇고 라이브러리의 연속성 때문에 DirectX 11을 먼저 공부하는 것이 좋다고 해서 보게된 책입니다. 이 책의 저자가 DirectX 9시점 유명 책이었던 용책의 저자로 DirectX 관련 서적에서는 유명한 저자라서 보게된 책입니다. 하지만 이 책을 추천하기는 좀 어려울거 같습니다. 우선 번역이 그리 매끄러운거 같지 않습니다. 읽다가 번역 문제로 뭔가 잘 이해가 안간다는 느낌이 가끔 듭니다. 다음으로 DirectX 11은 윈도우 업데이트를 통하여 외부 SDK에서 OS쪽 기본 포함 SDK로..

DirectX 9로 만든 데모: Nine Balls

DirectX 9로 만든 데모로 제목은 Nine Balls입니다. 특별한 의미는 없고 9개의 볼이 화면의 중심에 나오기에 제목을 그렇게 지었습니다. 오래 전에 취업용으로 P2P엔진 데모로 만들었던 것이 시작이었습니다. 이 글을 읽은 분들은 프로그래밍 공부 어떻게 하시나여? 이 데모는 간간히 3D 프로그래밍을 공부하면서 배운 것을 응용하여 적용하면서 확장된 데모입니다. 즉 3D 프로그래밍 학습용으로 만든 데모입니다. 서버 프로그래머여서 시간날 때 간간히 공부하다보니 다이렉트X가 9에서 11로 그리고 최근에는 12로 옮겨가는 추세여서 조금은 예전 프로그래밍을 한 거 같은 느낌도 듭니다. 하지만 3D를 공부하면서 느낀 점은 API에 집중하기보다는 관련 알고리즘이나 수학을 공부하는 것이 어떤 API를 사용하는가..

개발이야기 2022.08.14

DirectX 관련 참고할 만한 역사

운영하던 3D 관련 블로그 폐쇄하면서 가져온 글인데 아직도 유용한 것 같아 들리시는 분들 읽으라고 공개로 남겨놓습니다. 이틀간 각종 3D API와 H/W에 대하여 아무 생각없이 아래와 같이 wikipedia에서 찾아보았다. 이런저런 잡지식인데 참이나 재미있었다. DirectX DirectX에 대한 역사로 윈도우95부터 시작하여 DOS개발자를 끌어들이기 위한 한 방법으로 시작되었다는 사실이 흥미롭다. 또한 처음에는 WinG와 같이 사장될 것을 두려워해 개발자들이 배우기를 꺼려했다는 사실은 ATL, ASP, MFC, OLE 등등 사장되었거나 사장되어가는 MS기술을 지켜본 나에게 많은 공감을 준다. DirectDraw DirectDraw에 대한 이야기로 7부터 비추되어서 8에서 부터는 제거되었다. Direct..

Direct3D Mesh

Direct3D 함수 중 D3DXCreateSphere(..)와 같이 메쉬를 만드는 함수는 Mesh를 만들지만 Mesh에 텍스처 정보가 없어서 텍스처를 입힐 수 없습니다. 이럴경우 메쉬를 복사한 후에 복사된 메쉬가 가지고 있는 버텍스 정보를 수정하여 텍스처를 입히면 됩니다. 여기서 난점은 텍스처를 수작업으로 입혀주어야 한다는 점입니다. 즉, 수학적으로 계산하여 입혀주어야 합니다. 아래사이트에 D3DXCreateSphere로 만든 구에 텍스처를 입히는 방법이 예제로 나와 있습니다. 참고로 이 텍스처 맵핑은 구를 바탕으로 한것이라 다른 메쉬와 같은 경우, 특이나 정육면체와 같은 경우에는 아래에 나와있는 수학적 공식이 아닌 다른 계산으로 입혀야 합니다. http://www.mvps.org/directx/art..

DirectInput Mouse 마우스 문제해결

IDirectInputDevice8::Acquire()에서 E_ACCESSDENIED가 리턴될 때... 개인적으로 윈도우가 생성되서 화면에 보이기 전에 호출할 경우 E_ACCESSDENIED에러가 리턴되었다. 이 문제를 해결하여 위하여 초기화 코드 중 Acquire()부분을 ShowWindow( hWnd, SW_SHOWDEFAULT ); UpdateWindow( hWnd ); //이제 윈도우 생성되어서 보임, 이 코드 이 후에 Acquire() 코드를 위치 시킴.. 뒤에 위치시켜서 해결하였다.

반응형