메쉬하나 불러와서 띄워봤는데 평소엔 잘작동하던 깊이버퍼가 작동않하는겁니다..멍미;;
프로그래밍하면서 이렇게 길게 하나가지고 끌어본적이업... 간단한걸수록 한번 헤메면 답이않서더라구요.
그리하려 깊이버퍼 (z버퍼 혹은w버퍼) 작동않할때의 대처법들에 대해서 나열해보겠습니다.

일단 D3D프로그래밍을 배울땐 DIRECT_DEBUG 플래그를 켜두는게 좋습니다.
이것은 다이렉트 유틸에 보시면 옵션설정하는 부분가시면 됩니다.
이 플래그를 켜두면 다이렉트라이브러리를 이용하여 디버깅을 시도할때
출력창에 여러 디버그 정보들을 출력해주어서 디버깅시 좋습니다.

자 그럼 일단 D3DDEVICE메서드로 Z버퍼를 활성화시켜줍니다. 그래도 않뜬다.. 출력창을 한번보죠

Direct3D9: (ERROR) :************************************************************
Direct3D9: (ERROR) :ASSERTION FAILED! File d:\vista_rtm\multimedia\directx\dxg\d3d9\fe\d3dbase.cpp Line 6664: !bDoZClear || ((dvZ>=0.0) && (dvZ<=1.0))
Direct3D9: (ERROR) :************************************************************

이런 메세지가 뜬다면 이것은 D3DDEVICE::Clear 메서드 상에서 5번째인자의 z값을 주는부분을
0~1.0 사이로 넣지않았을때 발생합니다.

자 Clear의 z범위를 제대로 줬음에도 않나오거나 위의 D3D9에러가 않뜬다..
그럼 남은 한가지는 프로젝션행렬설정을 잘못해줬을때 생길수있습니다.


여기에서 D3DXMatrixPerspectiveFovLH 함수의 인자값을 잘못넣어 줬을때 발생할수있습니다.
그것에 관한 해답은 밑에 제가 gpg에 질문 해놓은게 있으니 밑의 링크를 타고 참고해보시길~

http://www.gpgstudy.com/forum/viewtopic.php?topic=23982
Posted by 랜스.

Leave your greetings here.

  1. Comment RSS : http://lancekun.com/tc/rss/comment/116
  2. 매못찌ㅠ 2009/08/18 04:05  Modify/Delete  Reply  Address

    매핑강좌해줘ㅠ
    랜스는 자웅동체ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ