ホーム : 実験室 : ジオ地蔵3.6β

ジオ地蔵 3.6.0β2 ( 2019/08/17 )

はじめに

 3Dムービー機能を従来のOpenGLからMetalへ置き換えたものです。単純に置き換えただけでなく、操作性を変更しています。3Dムービー以外の機能は全く変更していません。また旧い機種(2011年以前でMojaveをインストールできない機種)では従来通りの機能で動きます。2012年以降の機種ならシステムがEl CapitanでもMetalで動作します。ただし動作確認はMojaveでしかできていません。(ベータ1)
 ベータ2では、展望図の自動スクロールがスムーズに動くようにしました。特に独立型GPUを使用したマックで、Mojave環境下で改善されます。また4GBを超えるサイズのGeoTiff標高データをサポートしました。

3Dムービー

ダイアログ

 ダイアログの差はほとんどありません。唯一、フレームレートに60fpsを追加してあります。ここで指定するフレームレートは実質的には最大値を指定するもので、ハードウエアの性能次第でより小さい値で動作します。またデータ量に依存します。旧い機種でOpenGLで動作する場合も、60fpsを指定できますが、100万以下くらいのデータ量でないと60fpsは出ないでしょう。データ量の最大値を 40 x 100万 としました。

実行画面

  3D Movie Hakone
 'A' キーでウインドウの下に情報表示欄を追加します。また消します。 回転、フライト、船舶の各モードごとに表示内容は異なります。表示のアップデートは0.5秒毎です。

実行時の操作

 基本的に今までと同じ操作ですが、以下の内容が異なります。 (1) 矢印キーによる方向の操作、コンマ、ピリオドによる速度の調整は、キーを押し下げた回数(自動リピートも含む)ではなく、押している時間の長さにより変わります。 (2) 'A' キーでは情報表示欄をウインドウの下に表示したり、消したりします。 (3) フライトモードの場合、'/' キーを押すときに一緒にcontorlキーを押すと、進行方向のみを直進とし、上昇/下降速度は維持します。

フレームレートについて

 当プログラムでは、指定した範囲のデータを一個のオブジェクトとして作成して、GPUに渡しています。そのためデータ量が多いと必然的に処理に時間がかかりフレームレートも遅くなります。分割して必要な部分だけロードできれば良いのでしょうが、今後の課題です。
 上図はデータ量が 9.4 x 100万 で、MacBook pro 13" late 2013 core i5 2.6GHz 内蔵GPU ( Intel iris ) での値です。 3 x 100万 くらい以下なら 60 fps が出ます。iMac 21.5" 2019 core i5 3.0GHz Radeon Pro 560X では 14.0 x 100万 くらい以下なら 60 fps が出ます。20 fps が出れば、カクカクしないで違和感なく見られると思います。もっと高速なGPUや、eGPUが使えるときに、どのくらいの性能が出るかは試せる環境が無いので全く判りません。
 最大 40 x 100万 までのデータ量を指定できますが、GPUが非力なMacの場合、正しく描画できず空だけが見えることがあります。その場合は、指定範囲を狭くしてデータ量を減らしてください。

展望図の自動スクロール

 操作は全く変わりませんが、macOS 12 (Sierra) 以降では、Metalを使用して自動スクロールを実行します。独立型GPUを備えたMacでMojave環境で実行したとき顕著に差が出ます。ただし画像の横幅が16000ドット以下です。Metalのテクスチャーマップの最大サイズが16384ピクセルなので、16000に設定しました。これを超えるときは従来のままです。画像を分割すると、途端にアルゴリズムが複雑になるので、取り敢えずはこのままです。

GeoTiff標高データ

 ファイルサイズが4GBを超えるデータをサポートしたTIFF形式をBigTiffと言います。このようなサイズの標高データもいくつか提供されるているのでサポートしました。
 GeoTiff標高データを読み込むときに、必要以上に時間がかかっていたのを修正しました。

ダウンロード GeoJizoh_360b2.zip (8.6 MB)

©Copyright 2019, Yoshiaki Katayanagi.