2016-07-25 12 views
0

안녕하세요 https://code.msdn.microsoft.com/windowsdesktop/Direct3D-Tutorial-Win32-829979ef#content의 Tutorial2를 시도하고 있습니다.msdn "Direct3D Tutorial Win32 샘플"자습서 2

튜토리얼 1에서는 #pragma comment (lib, "d3d11.lib")를 추가하여 작동하도록했습니다.

튜토리얼 2에서는 #pragma comment (lib, "d3d11.lib") 및 #pragma comment (lib, "D3DCompiler.lib")라는 두 개의 pragma를 추가했습니다. 하지만 여전히 나는 그것을 만들 수 없습니다. .hlsl 파일에서 오류가 발생합니다. {오류 X1507이 (가) 소스 파일 'Tutorial02.fx'}을 열지 못했습니다. 내 컴퓨터에서 Tutorial02.fx를 찾으려고했지만 시도 할 수 없었습니다. 이 파일이 어디에 있는지 또는이 작업을 수행하는 방법은 무엇입니까? Visual Studio 2015 커뮤니티 에디션을 사용하고 있습니다.

답변

0

VS 2015를 사용하고 있으므로 Tutorials.sln을 열고 v140으로 업그레이드했다고 가정합니다.

방금 ​​VS 2015를 사용하여 문제없이 모든 구성에 대한 모든 자습서를 만들었습니다. Tutorial02.fx이 패키지에 명확하게 들어 있기 때문에 패키지를 올바르게 확장하지 못했을 수 있습니다.

Note that I've not updated the MSDN copies of my samples in some time. I now maintain them on GitHub .

+0

답변 해 주셔서 감사합니다. 나는이 형식의 파일 형식이 어떻게 생성되는지 궁금했다. .hlsl 파일을 추가하는 방법을 알고 있습니다. 그러나이 파일 (Tutorial02.fx)이 어떻게 추가되었는지는 모르겠습니다. Visual Studio에서는 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 버튼으로 클릭 한 다음 "항목 추가"를 클릭하여 코드 파일, 리소스 파일, 데이터 파일, 웹 파일, 유틸리티 파일, 속성 시트, HLSL 파일 및 그래픽 파일을 추가 할 수 있습니다. .fx 파일을 추가하는 방법을 찾지 못했습니다. 이 파일은 어떻게 추가 되었습니까? .cpp 파일에서 "hr = CompileShaderFromFile (L"Tutorial02.fx ","VS ","vs_4_0 ", & pVSBlob);"이라는 줄을 발견했습니다. " 파일을 만드는 중입니까? – Niraj

+0

''.fx'' 파일은 Visual Studio에 의해''.hlsl'' 파일과 똑같이 처리됩니다. 그러나 튜토리얼에서는 Visual Studio가 같은 소스 파일을 두 번 이상 컴파일 할 수 없으므로''.fx'' 파일은 직접 컴파일되지 않습니다. 따라서 두 개의 .hlsl 파일은''.fx'' 파일의''#include ''를 사용하고 있습니다. 이는 코드에서 볼 수 있듯이''.fx'' 파일이 코드에 의해 두 번 적용되기 때문에 쉐이더를 쉽게 검증 할 수 있습니다. –

+0

실제 응용 프로그램에서는 프로그램을 실행할 때 런타임이 아닌 응용 프로그램의 컴파일 시간에 모든 쉐이더를 빌드하고자합니다. 간단하게하기 위해이 자습서는 컴파일 타임 (쉬운 검증을 위해)과 런타임 (쉬운 사용을 위해)에서 빌딩을 수행합니다. –