| オープンDDL | |
|---|---|
| 開発者 | エリック・レンゲル |
| 初回リリース | 2013年9月24日 (2013年9月24日) |
| 最新リリース | 3.0 2021年1月4日 ( 2021-01-04 ) |
| フォーマットの種類 | データ交換 |
| オープンフォーマット? | はい |
| Webサイト | openddl.org |
オープンデータ記述言語(OpenDDL)は、任意のデータを簡潔で人間が読める形式で保存するために設計された、汎用的なテキストベースの言語です。多くのプログラム間で情報を容易に交換するための手段として、あるいは単にプログラムのデータを編集可能な形式で保存するための手段として使用できます。
OpenDDLの正確な構文は、ウェブサイトopenddl.orgとOpen Game Engine Exchange仕様の付録に記載されています。[1]
構造
OpenDDLファイルは、ユーザー定義型または組み込みのプリミティブデータ型のいずれかである構造体のシーケンスで構成されます。構造体の宣言は、識別子、オプションの名前、オプションのプロパティリスト、そして最後に中括弧で囲まれた構造体の内容で構成されます。生データは、常に、次のセクションで説明するデータ型のいずれかを識別子とする構造体に格納されます。例えば、Point3次元点の浮動小数点座標を保持する構造体は、次のように定義できます。
ポイント
{
浮動小数点数 {1.0, 2.0, 3.0}
}
構造体には、ファイルの他の部分から参照できるように名前を付けることができます。名前はグローバル(ファイル全体で一意)またはローカル(構造体内で一意)です。グローバル名はドル記号と識別子で構成され、ローカル名はパーセント記号とドル記号で構成されます。Point上記の構造体には、次のようにしてグローバル名「position」を付けることができます。
ポイント$position
{
浮動小数点数 {1.0, 2.0, 3.0}
}
次のデータ型を使用して、別の構造体にこのポイントへの参照を含めることができますref。
参照 {$position}
データ型
OpenDDLは、次の表に示す15個のプリミティブデータ型を定義しています。各型には、長い名前と短い名前があります。さらに、浮動小数点型にはそれぞれ、代替の長い名前と短い名前があります。
| タイプ | 説明 |
|---|---|
bool、b
|
trueまたは の値を持つことができるブール型false。
|
int8、i8
|
[−2 7 , 2 7 − 1]の範囲の値を取ることができる8ビットの符号付き整数 。 |
int16、i16
|
[−2 15 , 2 15 − 1]の範囲の値を取ることができる16ビットの符号付き整数 。 |
int32、i32
|
[−2 31、2 31 − 1]の範囲の値を取ることができる32ビットの符号付き整数 。 |
int64、i64
|
[−2 63、2 63 − 1]の範囲の値を取ることができる64ビットの符号付き整数 。 |
uint8、u8
|
[0, 2 8 − 1]の範囲の値を取ることができる8ビットの符号なし整数 。 |
uint16、u16
|
[0, 2 16 − 1]の範囲の値を取ることができる16ビットの符号なし整数 。 |
uint32、u32
|
[0, 2 32 − 1]の範囲の値を取ることができる32ビットの符号なし整数 。 |
uint64、u64
|
[0, 2 64 − 1]の範囲の値を取ることができる64ビットの符号なし整数 。 |
half、、、、float16hf16
|
標準 S1E5M10 形式に準拠した 16 ビット浮動小数点型。 |
float、、、、float32ff32
|
標準 S1E8M23 形式に準拠した 32 ビット浮動小数点型。 |
double、、、、float64df64
|
標準 S1E11M52 形式に準拠した 64 ビット浮動小数点型。 |
string、s
|
UTF-8でエンコードされた内容を含む二重引用符で囲まれた文字列。 |
ref、r
|
構造名のシーケンス、またはキーワードnull。
|
type、t
|
この表の最初の列の型を指定する識別子を値とする型。 |
base64、z
|
Base64としてエンコードされた汎用バイナリ データ。 |
参考文献
- ^ Lengyel, Eric (2021). Open Game Engine Exchange 仕様 バージョン 3.0 . Terathon Software LLC. ISBN 978-0-9858117-8-5。
外部リンク
- 公式サイト