GSI

'WindowMovedOrResized'에 해당되는 글 1건

  1. 2009.03.13 [MOgre] 윈도우 폼의 사이즈 변경시 3D 화면 재 설정


윈폼의 UI 기반의 코드를 작성하다 보면
3D의 화면은 사이즈가 빈번하게 변경된다.
이때 뷰포트와 카메라의 비율은 변경을 해주어야 한다.
아래의 코드는 그 일부분이다.

protected RenderWindow window;
public Camera camera;
protected Viewport viewport;
.......
// 윈도우 사이즈가 변하면 여기서 WindowMovedOrResized 메소드를 호출해 주어야 한다.
window.WindowMovedOrResized();
// 호출후에 생성된 윈도우 사이즈를 SetConfigOption()에 추가해 주어야 한다.
string videomode = string.Format("{0} x {1} @ 32-bit colour", window.Width, window.Height);
root.RenderSystem.SetConfigOption("Video Mode", videomode);
// 카메라의 비율을 재 생성한다.
camera.AspectRatio = ((float)viewport.ActualWidth) / ((float)viewport.ActualHeight); 

Posted by gsi
: