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.