프로그래밍2014. 5. 22. 22:43

DX11 입문서를 보면서 환경설정을 하고 디바이스 초기화 하는 부분을 따라서 코딩했더니 아래와 같은 경고가 떴다.



빌드가 안되는 것은 아니지만 찝찝했기 때문에 이리저리 설정을 바꿔보기도 하고 인터넷도 찾아보고 하다가 DX SDK가 Windows SDK에 포함되었다는 글을 보게 되었다.

바로 프로젝트 설정의 포함, 참조, 라이브러리 디렉터리 들에서 DX SDK의 경로들을 제거 했다.


하지만 DX와 관련된 소스들에서 정의되지 않았다면서 빨간 줄들이 생기고 컴파일을 하면 나오는 에러

D3D.cpp(2): fatal error C1083: 포함 파일을 열 수 없습니다. 'D3DX11.h': No such file or directory


하드에서 D3DX11.h 파일을 검색했더니 DX SDK에는 있지만 Windows SDK에는 존재하지 않는다.



멘붕 상태에 빠져있다가

#include <D3DX11.h>

#include <D3D11.h>

로 고쳤더니 에러도 사라지고 잘 컴파일 된다.

Posted by 버블껌
프로그래밍2012. 12. 30. 20:27


프로젝트 중에 내가 맡은 UI의 랜더 부분 때문에 게임의 프레임이 튀는 문제가 생겼다.

UI의 프레임에서 화면크기만한 텍스쳐에 모든 오브젝트를 미리 그려놓고 UI랜더는 그 텍스쳐 한장만 화면에 그리는 비교적 단순한 로직이고 UI랜더를 포함함 모든 오브젝트는 최상위 부모 클래스의 같은 함수로 랜더되기 때문에 UI랜더에서 문제가 생긴다면 UI프레임에서도 문제가 생겨야 하지만 UI프레임에서는 문제가 생기지 않아서 이 문제의 원인이 상상조차 안됐었는데 의외로 간단한 부분이 문제였다.


다른 오브젝트와 UI랜더의 유일한 차이점은 UI랜더에서만 노말맵을 사용하지 않는 다는 것인데 기본 노말맵은 셋팅되어있고 노말맵을 NULL로 셋팅하려고 하면 예외처리로 원래 텍스쳐를 그대로 들고 있기 때문에 의도치 않게 노말맵을 셰이더에 보내주면서 셰이더에는 노말맵 텍스쳐를 선언하지 않은게 원인이었다.


ps. 컴퓨터는 거짓말을 하지 않는다.

컴퓨터가 거짓말을 한다면 그건 사람이 시켰기 때문이다.

그게 나야~~ 둠빠 둠빠 두비두밥

Posted by 버블껌