DirectX7을 사용하여 2 차원 (z 좌표가 0)의 버텍스 및 인덱스 버퍼를 사용하여 3D 효과를 만들려고합니다.다이렉트 버텍스 렌더링 : 트 랫코 이드에 대해 올바르게 표시 할 텍스처를 얻을 수 없습니다.
그것은 사진과 함께 설명하는 것이 더 쉽습니다 :
문제는 선이 깨진 것입니다. 그들은 똑바로되어야합니다. 이 이미지를 렌더링하기 위해 삼각형으로 헤어지고 DrawIndexedPrimitiveVB를 사용하여 렌더링됩니다. 분명히 각각의 삼각형은 약간 다르게 왜곡되어 있고 나는 왜 보이지 않습니다.
여기 뭔가 사소한 것이 있습니까? 이 도움이 될 것입니다 경우
는 잘 모르겠지만, 소스 및 대상 쿼드는 다음과 같습니다 :
SPoint4:= pBounds4(1, 1, W - 2, H - 2);
DPoint4:= Point4(ProjTo2dX(i, FlyDist + DeepDist, W), ProjTo2dY(0, FlyDist + DeepDist, H), ProjTo2dX(W - i, FlyDist, W), ProjTo2dY(0, FlyDist, H), ProjTo2dX(W - i, FlyDist, W), ProjTo2dY(H, FlyDist, H), ProjTo2dX(i, FlyDist + DeepDist, W), ProjTo2dY(H, FlyDist + DeepDist, H));
3d 재료를 피하기 위해이 기술을 사용해야했기 때문에이 대답을 받아 들일 것이므로 필요할 경우 내 응용 프로그램을 DirectX에서 GDI로 폴백 할 수 있습니다. – Kaitnieks
실제로이 방법은 문제를 해결하지 못합니다. 이제는 형상이 여러 번 동일한 문제가 발생합니다. 세분 된 메쉬의 삼각형 영역에 오류가 비례하기 때문에 눈에 띄지 않습니다. 당신은 GDI를 사용하는 것이 더 쉽다는 것을 옳습니다. 비록 2d와 관련이 없으며 픽셀 단위의 연산과 관련이 있습니다. – jheriko
공식적으로 당신은 완전히 정확하지만 실제로는 충분하고 결함은 눈에 띄지 않습니다. 당시로서는 유일한 해결책이었고 개발자로서 해커임을 알았지 만 최종 사용자는 결과를 얻지 못하고 즐깁니다. 다음 번에 프로젝트를 열 때 Natan의 솔루션을 구현하려고합니다. – Kaitnieks