내 그래픽 장치가 설정되어 monogame에 목표를 다시 버퍼를 렌더링 :문제 이해는 다음과 같이
GraphicsDeviceManager = new GraphicsDeviceManager(GameBase.GameRef);
GraphicsDeviceManager.PreferredBackBufferWidth = 640;
GraphicsDeviceManager.PreferredBackBufferHeight = 480;
GraphicsDeviceManager.ApplyChanges();
나는 다시 선호 버퍼 폭이 뜻을 정확히 설명하는 구글의 아무 곳이나 찾을 수 없습니다.
RenderTarget = new RenderTarget2D(
GraphicsDeviceManager.GraphicsDevice,
640,
480,
false,
GraphicsDeviceManager.GraphicsDevice.PresentationParameters.BackBufferFormat,
DepthFormat.Depth24);
나는 640와 480이 실제로는 대상이 그려 렌더링 방법에 대해서 무엇을 의미하는지에 대한 구글에서 아무것도 찾을 수 없습니다
나는이 같은 렌더 타겟을 설정합니다.
내가 가지고있는 문제는 창 크기를 조정하면 모든 것이 늘어납니다. 나는 이것을하기 위해 무슨 일이 일어나고 있는지 이해하려고 노력하고있다. 그리고 나서 마침내 해결책을 찾아 낸다. 내 창을 시작
는 640 × 480이며, PreferredBackBufferWidth 및 높이 480분의 640이고 내가 예를 들어 1920 × 1080로 창의 크기를 조절하면 대상이 480분의 640
입니다 렌더링, 모든 그래서 어떻게 든 monogame 더 이상 뻗어 없습니다 화면의 640x480 부분에 640x480 텍스처를 렌더링했지만 값을 변경하지 않았거나 이에 대한 코드를 수행하지 않았습니다.
화면의 크기를 조정하면 렌더 타겟을 파괴하여 새로운 윈도우 크기에서 다시 생성해야합니까? 아니면 백 버퍼 너비와 높이를 변경해야합니까? 아니면 둘 다 변경해야합니까?
저는 매우 혼란스럽고 자세한 내용에 대해 충분히 기술 할만한 온라인 설명서가 없습니다. 일단 내가 이해할 수 있다면, 화면 크기를 조정할 때 아무 것도 일어나지 않고, 모든 것이 같은 크기로 유지되고 오른쪽/아래 가장자리 주위에 검은 색 영역이 있기 때문에 창문이 내가 무엇보다 큽니다. .
지금 확인할 수 없습니다. 그러나 내가 기억하는 한 두 가지 모두 크기를 조정해야합니다. RenderTarget이 "이미 그려진 그림을 투영하고있는 평면"인 동안 "당신이 그리는 종이"로 백 버퍼를 생각하십시오. 따라서 스트레칭을 원하지 않는다면 "종이"에 더 많은 공간을 확보하기 위해 버퍼를 다시 변경 한 다음 RenderTarget을 실제로 "드로잉을 보여줄 장소"로 변경해야합니다. –
그래서 간단한 (예제) 시나리오에서 백 버퍼는 목표로 삼을 최대 크기를 가져야합니다. –
나는 XNA가 살아있는 날 MSDN의 스켈레톤 참조 항목보다는 XNA 자습서에 대한 도움말을 찾기가 쉽다는 것을 알았습니다. 내가 찾을 수있는 가장 좋은 점은 [이 기사] (https://msdn.microsoft.com/en-us/library/bb195022.aspx)이며, 가로 세로 비율에도 약간의 차이가 있습니다. 도움이 되었으면 좋겠다. – MickyD