示例#1
0
// 画面中央が(0, 0)の座標→左上が(0, 0)の座標
Vec2f AppEnv::windowPosition(const Vec2f& pos, const Vec2f& window, const Vec2f& viewport) {
  Vec2f screen_rate = window.array() / viewport.array();
  return Vec2f(pos.array() / screen_rate.array()) + viewport / 2.0f;
}
示例#2
0
// 画面中央が(0, 0)の座標を計算
Vec2f AppEnv::screenPosition(const Vec2f& pos, const Vec2f& window, const Vec2f& viewport) {
  // ウインドウサイズと描画サイズの違いも考慮する
  Vec2f screen_rate(window.array() / viewport.array());
  Vec2f view_pos(pos - viewport / 2.0f);
  return Vec2f(view_pos.array() * screen_rate.array());
}