CinderのGL/CameraPerspでwindowのresizeに対応する

  • 3
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

問題

こういうのがあって

image

なにも考えずにWindowをresizeするとこうなる.

そのまま視点 上から視点
image image

上から見るとわかりやすい.

対処

  • cinder::app::AppにWindow resize時のコールバックが用意されてる
  • cinder::CameraPerspにはCameraのAspectRatioを変更するメソッドがある

これらを利用する.

class AwesomeApp : public App {
public:
  // snip.
  void resize() override;

private:
  // snip.

  CameraPersp camera_;
};

// snip.

void AwesomeApp::resize() {
  camera_.setAspectRatio(getWindow()->getAspectRatio());
}
そのまま視点 上から視点
image image

問題なさそう.