QuakeViewer3Dの目玉機能である「3D地球断面・半球カットモード」。地球を半分にスライスし、地下数千キロメートルの地殻やマントル層を完全ソリッド描画する技術的アプローチを解説します。
1. WebGLクリッピングプレーンによる半球カット
震源地の子午線を通る平面を定義し、WebGLのフラグメントシェーダーで切断面の手前側をクリッピング(破棄)することで、地球の内部を切り開いて見せる構造を実現しました。
2. 地殻・マントル・核の5層ソリッド断面の生成
切断面に穴が空いて空洞に見えないよう、以下の5層の同心円ポリゴンメッシュを生成してソリッド描画しています:
1. 地殻(Crust): 深さ0〜35km(茶色)
2. 上部マントル(Upper Mantle): 深さ35〜410km(濃赤)
3. 遷移層・下部マントル(Lower Mantle): 深さ410〜2,890km(橙色)
4. 外核(Outer Core): 深さ2,890〜5,150km(黄色・液体金属)
5. 内核(Inner Core): 深さ5,150〜6,371km(白金色・固体鉄)
3. 大陸側の完全地形深度遮蔽(Occlusion)
反対側の大陸の地形が透けて見えないよう、片面カリング(Back-face Culling)とデプステスト(Depth Testing)を厳密に制御し、重厚感のある地球科学断面を完成させました。