2013-10-13 2 views
0

VS C++ 2012 및 Directx 10을 사용 중이고 일부 문제가 발생했습니다.Visual Studio C++ 2012 및 쉐이더 질문

2012 년 대 .hlsl 파일을 직접 추가 할 수 있으며 버텍스 또는 픽셀 쉐이더와 같이 만들 셰이더 유형을 선택할 수 있음을 알았습니다. 하지만 한 번에 한 가지 유형의 셰이더 만 추가 할 수 있습니다. 이전 버전과 달리 2010 년에는 버텍스 및 픽셀 셰이더와이 기술을 모두 포함하는 .fx 파일을 만들고로드 할 수있었습니다. 현재 상황에서는 별도의 .hlsl 파일을 추가 할 수 있지만 어디서 기술을 적용 할 것인지 잘 모릅니다. 또한 2012 버전에서 D3D10CreateEffectFromFile을 찾을 수 없다는 것을 알았습니다. Shader는 2012 버전에서 작동합니까? 버텍스 쉐이더와 하나의 픽셀 쉐이더 만 사용하려면 어떻게해야합니까?

답변

0

저는 오랫동안 directX에서 작동하지 않지만 Visual Studio 버전과 심지어 directX에 의존하지 않는다고 생각합니다. DX10과 DX11에서는 기법과 함께 다양한 유형의 쉐이더가 포함 된 fx 파일을 만들 수 있습니다 (그러나 directx 11에서는 프로젝트에 효과 클래스를 포함해야 함)하지만 DX11에서는 hlsl 파일을 사용할 수도 있습니다 모든 셰이더 유형을 포함하고 있습니다. 컴파일 할 때 DX11 함수에 특정 셰이더의 이름과 유형을 보내면 DX11에서이 방식이 바람직하다고 생각합니다. D3D10CreateEffectFromFile에 대해서는 잘 모르겠지만 헤더가 올바르게 포함되지 않았다고 생각합니다. 다시 나는 DX와 함께 일하지 않는 오랜 시간이라고 말하고 나의 대답은 틀릴 수있다.