六月、Clickteam の公式フォーラムにて、開発者の体調不良など諸事情が重なりしばらく沈黙を守っていた Clickteam ですが Yves がフォーラムに戻ってきて近況報告と Fusion 3 に関する新しい情報をアップデートしてくれました。
今回はさりげなく大きな情報、F3 は Vulkan に対応しそのついでに Direct X にも対応するという方針で固まっているようです。
参考 URL : Fusion 3 blog any time soon?
Vulkan が採用する SPIR-V CodeGen を利用して Direct X に対応すると思われ、まず Vulkan をサポートしているというのが重要。
Vulkan とは?
Khronos Group が開発している標準 2D および 3D graphics API、GPU 用のクロスプラットフォーム。
OpenGL およびサブセットである OpenGL ES が現在も幅広く利用されていますがこれらはすでに基本設計が古く、Vulkan は新しいハードウェア環境に沿って再設計された新しいクロスプラットフォームとして活躍が期待されています。
対応 Platform Support は現時点で Android、iOS、MacOS、Windows、ゲーム専用機だと Nintendo SWITCH があります。
参考 URL : https://www.vulkan.org/
参考 URL : What is SPIR-V
参考 URL : SPIR Overview
SPIR とは?
CPU だと LLVM だったものが GPU だと SPIR-V に相当し、実際 SPIR-V は LLVM-IR に強く影響を受けたトランスレーターです。
現代の主要な開発ソフトウェアは HLSL か GLSL でまずシェーダープログラムを書いて、これを相互変換できる仕組みを各社が独自に備えています。Vulkan では特定言語に依存せず変換に対応し、シェーダの中間表現としてまず SPIR-V で中間コードを生成します。
各言語間の差異を吸収し共通化・再利用できる言語的エコシステムです。
Vulkan とデフォルトシェーダー言語
Vulkan はデフォルトシェーダー言語に SPIR-V ( Standard Portable Intermediate Representation ) というシェーディング中間表現言語を採用、これによって GLSL のコード資産も HLSL の資産も Vulkan で活かせる見込みです。
Vulkan のシェーディング言語はまず GLSL を引き継ぎ、GLSL で記述されたプログラムを SPIR-V を使用して中間コードへ変換、これを変換の開始点として各 GPU ネイティブなバイナリとしてコンパイルするという手順を取ります。HLSL ( DirectX 12 ) で書かれたシェーダープログラムもやはりオフラインコンパイラを使ってコンパイルでき、フロントエンドの言語は幅広く対応、SPIR-V で中間コードを生成できればあとは対応コンパイラに任せることができます。
簡易まとめ
Fusion 3 は CPU 命令も GPU 命令もトランスレーターを使ってまず中間コードを出力するという仕組みを採用、今まで GPU 対応がずっと秘匿されていましたがやはり Vulkan というクロスプラットフォームを採用していること、筆者が個人的に懸念していた Direct X を捨てるのではないかという点についてはちゃんと対応を予定されている様子。
その他の情報について
日本の販売代理店との契約を Clickteam が解除しました。
過去に発売され現在もサポートが有効な日本語版 CF25 の各バージョンについて、今後もサポートは Clickteam 公式が継続すると言及されています。
昨年から ClickStore が完全にクローズされている問題について、六月もしく七月頃に再開予定、特定の期限まで遡ったバックアップから復旧するようで、過去に購入した拡張機能などが完全に戻っているかどうかなどタイミング次第で消えてる可能性もあり、ユーザはストア復旧後に購入履歴と照らし合わせた方が良いかもしれません。
おまけ
9-Slice Object がオープンソースとして GitHub にて一般公開されるようになりました。
元々 Windows PC 専用の拡張として公開されていたものが Android と HTML5 出力にも対応してクリックストアで販売されていたようです。
参考 URL : F2-9Slices Extention source
早速 GitHub からダウンロードしてみましたが Visual Studio 2019 ( v142 ) で EDiF SDK が利用されている、内部にビルド済みバイナリがあり最終ビルドは 2020/10/25 でした。
実際に解凍したファイルのフォルダ構成を見ると Windows 用のバイナリ格納フォルダが “./Data/Runtime/Unicode” ではなく `Runtime` 直下に配置されている、たぶん動くんだと思うけど筆者は手動で Unicode 以下にコピーして動作確認しています。HTML5 と Android 対応もきちんと含まれていますが Windows PC でしか動作は確認していません。
Pingback: ASTER 正式版 開発進捗情報 - CF2.5 ガイド