문제

DirectX에서 Pixel 및 Vertex Shaders를 디버그하는 방법을 알아 내려고 노력하고 있습니다. Windows 용 Pix를 사용하려고 시도했지만 매우 버그가 많고 효과적으로 비 운영자라고 생각합니다. 내 응용 프로그램 안에 이러한 셰이더를 디버깅 할 수있는 대안이 있습니까?

도움이 되었습니까?

해결책

HLSL-Shaders를 디버깅하기위한 제 3 자 도구는 모르겠지만 간단한 기술을 사용하여 디버깅에 좋은 경험이있었습니다.

CPU의 렌더 대상을 복사하여 비트 맵에 저장하거나 터미널에 인쇄하거나 CPU 디버거에 액세스 할 수 있습니다.

버그가있는 경우 먼저 사용하는 버퍼가 실제로 올바른 값을 가지고 있는지 확인해야합니다. 처음에는 일부 텍스처가 잘못된 매개 변수로 생성되거나 데이터가 다른 순서로 예상되는 경우가 종종 있습니다. 이것은 일반적인 오류 소스입니다.

다른 팁

요컨대, 아니요.

예 Pix는 약간 버그가 있지만 첫 릴리스 이후 크게 향상되었습니다. 최신 SDK를 실행하고 있는지 확인하십시오!

디버그 정보 만 색상으로 출력하십시오. 예를 들어 R, G, B로 255*(Normal+1)를 출력 할 수 있습니다. 중간 셰이더 변수를 색상으로 출력 할 수 있습니다. 그렇지 않으면 셰이더의 경계 내에 있는지 확인할 수 있으며 검은 색이면 흰색이 있는지 확인할 수 있습니다. 그렇지 않은 경우. 일반적으로 도움이됩니다.

Pix for Windows는 DirectX SDK (2010 년 6 월부터 확인할 수 있음)와 함께 제공되며 상태를 현명하게 설정하는 것을 시각적으로 디버깅하고 셰이더를 라인별로 밟을 수 있습니다. 생명 보호기입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top