2008-10-30 5 views
1

DrawIndexedPrimitives을 사용하여 Direct3D에서 모델을 렌더링하려고합니다. 그러나 나는 그것을 화면에서 볼 수 없다. Direct3D 모델을 디버그하는 데 사용되는 일반적인 방법은 무엇입니까?Direct3D 모델 디버깅

  • 다시 오프 스위치
  • 사용 PrimitiveType.LineStrip 대신보기 및 프로젝션 행렬의 PrimitiveType.TriangleStrip
  • 여러 조합의 도태에 직면

    나는 다음 시도했습니다.

  • 는 작은 구체로 DX SDK에서

답변

2
  • 배경색을 회색으로 설정합니다. 흰색이거나 검은 색이면 보게 될 것입니다.
  • 변환 행렬 (월드/뷰/투영법)을 확인하십시오. 보기 & 투영 표준 수학 함수를 사용하여 세계를 정체성으로 설정하십시오.
  • 뷰포트를 설정했는지 확인하십시오. 이것을 잊어 버리고 뷰포트에서 0 값을 가지기 쉽습니다.
  • D3D 디버깅을 켭니다. 디버그 스퓨을보세요. 많은 사람들이 런타임에서 잘못된 점을 알려줍니다.
  • 픽셀/버텍스 쉐이더를 확인하십시오. 작동하는 알려진 설치 프로그램을 사용하십시오. 또는 고정 된 기능.
  • 렌더링 상태를 확인하십시오. 깊이 설정 문제가있는 경우를 대비해 Z 버퍼링, Z 테스트, Z 쓰기 등을 돌립니다. 쓰기 마스크가 켜져 있는지 확인하십시오. 많은 주들이 당신이 문제를 일으킬 수있는 변경된 것들을 찾으십시오.
  • DrawIP에 대한 호출을 확인하십시오. 잘못된 정점 수,면 수 등을 지정하는 것과 같은 매개 변수 문제가있을 수 있습니다. 목록에서 첫 번째 삼각형을 그려보십시오. 당신이 그들 모두를 그려주기 전에 하나가 작동하도록하십시오 ...
2

사용 PIX 도구를 정점을 음모의 AutoCAD를 사용합니다. 은 정말 굉장합니다.입니다.

아마도 단일 프레임 캡처 모드를 사용하고 싶을 것입니다. 그런 다음 드로 콜에서 PIX는 버텍스 프로세싱이 일어나기 전, 버텍스 프로세싱이 완료된 후, 장치의 완성 된 상태, 결과로 렌더링 된 픽셀 등을 모델에 표시합니다.

1

기본적으로 D3D에는 불빛이 나타나지 않을 수도 있습니다. 검은 색입니다. 그렇지 않은 경우 표시등을 켜십시오.