쉐이더 사용시 아래와 같은 메세지가 나올때가 있다.

 error: x3539:ps_1_x is not supported in this veion of the complier

혹은
 error: x3539:ps_1_x is no longer supported use /Gec in fxc to automatically upgrade to ps_2_0
나의 회사 피시 그래픽 카드가 geforce 8600gt 인데 이것은 쉐이더 각각 3.0을 지원한다.

이것으로 아래 예제를 실행하면 위와 같은 에러가 난다. 에러 설명처럼 플래그를 찾아서 해결하였는데 다음과 같다.

 

D3DXSHADER_ENABLE_BACKWARDS_COMPATIBILITY 플래그가 /Gec와 같다.

 

사용법은 다음과 같이 쓰면 된다. 그러면 쉐이더 1.x버젼에서 자동으로 2.0대 버젼으로 교체해준단다.

 

 hr = D3DXCreateEffectFromFile( g_pd3dDevice,
                             "dx9_hlsl_fx_simple.fx",
                             NULL,
                             NULL,
                             D3DXSHADER_ENABLE_BACKWARDS_COMPATIBILITY,  //이부분
                             NULL,
                             &g_pEffect,
                             &pBufferErrors );

'대학생 졸업하기 전 레벨 > DirectX' 카테고리의 다른 글

최근 하고 있는 맵툴 작업입니다...  (1) 2009.03.16
물 렌더링 (쉐이더)  (0) 2009.03.15
쉐이더 에러시  (0) 2009.03.07
D3DX 조명  (0) 2007.12.03
Direct 3D 프로그래밍 과제  (0) 2007.11.12
픽킹. Projection 변환  (0) 2007.11.11

+ Recent posts