문제

그것은 Directx 9에 관한 것입니다.

정점 셰이더로 렌더링하는 일반적인 경우 장치에 하나 이상의 스트림 소스가 있으며 소스 데이터의 형식은 정점 선언을 사용하여 정의됩니다.

이제 사용 된 정점 셰이더에 일부 속성이 필요한 경우 (예 : D3ddeClusage_normal 및 UsageIndex 1 또는 2가있는 경우), 제공된 정점 선언에는 해당 속성이 포함되어 있지 않습니다 (예 : 스트림 소스에 제공된 데이터에는 해당 속성이 포함되지 않습니다. ), 그리고 DrawPrimitive가 호출됩니다. DirectX는 해당 속성의 값을 어디서 얻습니까?

도움이 되었습니까?

해결책

"정점 스트림의 데이터에 해당 셰이더 데이터 유형보다 구성 요소가 적은 경우 누락 된 구성 요소는 0으로 초기화됩니다 (W는 제외하고 1으로 초기화)."

"Windows Directx 그래픽 문서 (2009 년 8 월)"에서 가져온

목차> HLSL> 프로그래밍 안내서> Direct3d 9의 HLSL 셰이더 작성> 다양한 셰이더 입력 및 의미론

다른 팁

DirectX 9 사양은 선언되지 않은 속성의 "기본"값, 일반적으로 (0,0,0,1) 정의됩니다. 장치 드라이버 또는 GPU가 생성합니다.

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