2014-02-24 1 views
0

내 프로그램은 비 방울 전리를위한 계산 셰이더와 고급 비 방울 렌더링을위한 다른 렌더링 셰이더 (버텍스 셰이더, 기하학 셰이더, 픽셀 셰이더)를 기반으로하는 비 입자 시스템입니다.그리기 호출에서 기하학 셰이더 그리기 DrawInstancedIndirect

그리기 호출 : DrawInstancedIndirect를 사용하여 Compute Shader의 결과를 렌더링 단계에 적용합니다.

내 문제는 각 빗물 방울에 대한 광고판을 그리려는 Geometry 쉐이더에서 렌더링 단계에 있습니다. 방금 만든 레귤레이션을 그리면 렌더링이 잘되고 빌보드로 변경하면 렌더링 대상에 아무 것도 없습니다. 이 지오메트리 셰이더를 디버깅 할 방법을 찾고 있습니다. 나는 geometry shader를 디버깅하기 위해 다음과 같은 도구들을 사용했지만, 나에게 도움이된다.

VS2012의 그래픽 디버거. 이 도구는 그리기 호출 DrawInstancedIndirect를 지원하지 않는 것 같습니다.

GPU PeftStudio. 버텍스, 픽셀 쉐이더는 지원하지만 기하 쉐이더는 지원하지 않습니다. 기하학 쉐이더에서 픽셀 셰이더로 즉각적인 값을 전달하여 보았습니다. 모두 0이었습니다. 하지만 오류를 찾기 위해 기하학 쉐이더를 파헤쳐 야합니다.

Nsight by NVDIA. 내 그래픽 카드는 720M이며, Nsight가 730M에서만 지원한다는 것은 너무 슬픈 일입니다. 왜 내가 디버깅 프로세스에 있는지 쉐이더 목록이 비어있는 이유 일 수 있습니다.

나는 지금 필사적으로 문제를 발견 할 길이 없다. 이 지오메트리 셰이더를 디버깅 할 수있는 방법을 제안 해 주시기 바랍니다. 정말 고마워!

+0

2010 년 6 월 Direct SDK에서 Windows 용 PIX를 사용해 보셨습니까? –

답변

1

Crytek에서 RenderDoc을 사용해 볼 수도 있습니다. 사용하기 쉽고 모든 단계의 모든 버퍼를 모니터링 할 수 있습니다.