다중 뷰에서 여러 이미지를 하나의 텍스처로 혼합하기 위해 Direct3D 11을 사용하고 싶습니다. 그래서 SVexition에 저장된 투영 결과 중 하나 인 Vertex Shader 스테이지와 Geometry Shader 스테이지에서 여러 투영을하고 POSITION0, POSITION1에 다른 투영 이미지를 저장합니다 등등. 이 위치는 이미지를 샘플링하는 데 사용됩니다.래스터 라이저 단계에서 어떤 현상이 발생 했습니까?
Pixel 쉐이더 단계에서 SV_Position의 값은 화면 공간에 있기 때문에 (307.5,87.5)와 비슷합니다. 렌더링 대상 크기가 500x500이므로 샘플의 uv가 (0.615,0.0.175)이므로 맞습니다. POSITION0의 값은 (0.1312, 0.370)과 같을 것이고, 오프셋을 사용하여 수직 반전됩니다. 나는해야만한다 (0.5 + x, 0.5 - y). 투사는 비틀어지고 대략 일치합니다.
SV_Position에서 래스터 라이저 단계는 무엇을합니까?
그러면 투영 이후의 좌표가 NDC로 변환 되었습니까? 어떤 관점 변환은'(0.5 + x, 0.5 - y)'와 같아서 – Clones1201
의 투영 위치를 w로 나눈 다음 NDC가되어 작동합니다. – Clones1201
예, 죄송합니다. 나는'SV_Position'이 perspective 분할 전에'[-1, 1]'범위 밖에있을 수 있음을 언급하는 것을 잊었습니다. – Lucius