Directx9 셰이더 프로그래밍 예제 수정방법.

반응형

세가지 오류가 발생한다.

1. error C2061: 구문 오류 : 식별자 'LPDIRECTXFILEDATA'
d3dfile.h 폴더에 #include <dxfile.h>를 추가한다.

2. error C2664: 'D3DXLoadMeshFromXof' :
     매개 변수 1을(를) 'LPDIRECTXFILEDATA'에서 'LPD3DXFILEDATA'(으)로 변환할 수 없습니다.

d3dfile.cpp 파일에서 아래 부분을 고쳐준다.
 if( FAILED( hr = D3DXLoadMeshFromXof( (LPD3DXFILEDATA)pFileData, D3DXMESH_SYSTEMMEM, pd3dDevice,
                                          &pAdjacencyBuffer, &pMtrlBuffer, NULL,
                                          &m_dwNumMaterials, &m_pSysMemMesh ) ) )

3. error C2039: 'Pass' : 'ID3DXEffect'의 멤버가 아닙니다.
이 부분은 버전이 바뀌면서 m_pEffect->Pass(UINT Pass) 함수가 두개로 분리되었다.
BeginPass 와 EndPass가 그것이다.
m_pEffect->BeginPass( pass)
...
. 랜더링
...
m_pEffect->EndPass()
와 같이 해주면 된다.

tip.
예제중 제대로 돌아가는데 텍스쳐 부분에서 제대로 출력안되는 예제가 있다.
예제에서 CommitChange를 추가해 주면 된다.

'Study > Graphics ' 카테고리의 다른 글

not use lock, unlock version font system  (0) 2009.08.24
shader에서의 dword  (0) 2009.08.15
float4에 마지막 w의 값...1이냐 0이냐....  (0) 2009.08.11
shader SetValue  (0) 2009.08.08
HDR Cube Map Sample  (0) 2009.06.25
TAGS.

Comments