2013-03-20 1 views
0

해상도를 변경하고 전체 게임을 새 해상도로 늘리려면 어떻게해야합니까? 내 게임에 기본 해상도가 있고 그 해상도로 변경하면 새로운 해상도로 바뀝니다. 몇 가지 비슷한 질문을 보았지만 모든 대답은 내가 프레젠테이션 매개 변수를 변경해야한다고 제안했습니다. 그렇게하면 내 화면 해상도가 변경되지만 다른 모든 개체는 같은 크기로 유지되고 잘못된 위치에 그려집니다.DirectX9 indepentent resolution

나는 화면, 일부 다이렉트 텍스트에 텍스처를 그릴 수있는 LPD3DXSPRITE 객체를 사용하고, 정점이 정의 : 나는 (시작> sprite-에서 D3DXSPRITE_OBJECTSPACE을 넣어 시도

#define D3DFVF_VERTEX (D3DFVF_XYZRHW | D3DFVF_DIFFUSE) 

)와 함께 플레이 프로젝션, 뷰 및 월드 매트릭스를 지원하지만 성공하지는 못합니다.

이 방법이 가능하고 어떻게해야합니까? 또한 표면에 렌더링을 제안한 다음 표면을 늘리는 또 다른 방법에 대해 읽었지 만이를 구현하는 방법을 모르겠습니다. 저는 DirectX의 초보자입니다. 나는 두 번째 방법을 봤는데, 설명 할 사람을 찾을 수 없었고 스프라이트에서 표면으로 그릴 수 있다고 생각하지 않는다.

편집 :

난 백 버퍼에 연신 먼저 표면에 CreateRenderTarget, SetRenderTarget 및 방법 StretchRect로 인쇄를 사용하고이를 관리.

답변

0

CreateRenderTarget, SetRenderTarget 및 StretchRect 메서드를 사용하여 표면을 먼저 인쇄 한 다음 백 버퍼에서 늘리는 방법으로이 작업을 수행했습니다.

0

실제 픽셀 대신 좌표를 측정하기 위해 DIP (장치 독립적 픽셀 또는 장치 독립 장치)를 사용하여이 작업을 수행 할 수 있습니다. 또한 해상도를 변경할 때 운영 체제가 UI의 크기를 조정하지 않도록 DPI 인식으로 게임을 표시해야합니다. DPI에 대한 자세한 내용은 this article을 참조하십시오.

관련 문제