| 3DMLW | |
|---|---|
| 開発者 | 3Dテクノロジー研究開発 |
| 安定版リリース | 1.0.5 / 2009年6月1日 (2009年6月1日) |
| プレビューリリース | 2.0 アルファ 1 / 2009年8月5日 (2009年8月5日) |
| リポジトリ |
|
| 書かれた | C++ |
| オペレーティング·システム | Windows、Linux、BSD、Mac OS X |
| 入手可能な | 英語 |
| ライセンス | GPLv2 [1] |
| Webサイト | www.3dmlw.com (アーカイブ) |
3DMLW ( 3D Markup L anguage for Web ) は廃止されたオープン ソース プロジェクトであり、World Wide Web上でインタラクティブな3Dおよび2Dコンテンツを表すXML ベースの マークアップ言語です。
このプロジェクトは 2009 年以降非アクティブになっており、2016 年現在、ドキュメントを含む Web サイトは利用できなくなっています。
3DMLWプラットフォーム
3DMLWプラットフォームは、動的な3Dコンテンツの表示を目的としたオープンソースのソフトウェアスイートです。ソフトウェア設計用の独自のスクリプト言語と、3Dモデルのフォーマットサポートが含まれています。
3DMLW言語
3DMLWは、XML標準1.0ベースのマークアップ言語であり、3DMLWプラグインインターフェースにリンクされたアプリケーション間でのデータ交換を可能にします。jEditなどのサードパーティ製ソフトウェアや、XSD制約をチェックできる他のXMLエディターで表記を検証するための スキーマ定義が提供されています。
3DMLWレンダラー
レンダリングエンジンは業界標準のOpenGLを採用しています。3DMLWプラグインインターフェースにプラグイン可能で、シーンライブラリとグラフィックスライブラリで構成されており、シーンライブラリ構造に最適化されたレンダリングパイプラインを提供します。シーンライブラリは、メッシュをレンダリングすることなく、メッシュの操作や変換に単独で使用できます。
3DMLWプラグインインターフェース
プラグインインターフェースは、ホストウィンドウ(Webブラウザなど)または独立した出力ウィンドウからの入力イベントと出力を仲介します。サードパーティ製ソフトウェアへの統合を可能にする拡張性を備えています。一般的なWebブラウザにはネイティブサポートが実装されています。
3DMLW サーバーツールセット
このツールセットは、複数のファイル形式( .obj、.3ds、.xyz 、.pts)のバッチ変換と、複数のモデルを同時に処理できるテクスチャアトラス生成機能を提供します。サーバー側で使用すれば、 3Dモデルとテクスチャの自動変換を実現できます。
3DMLWファイル形式
3DMLW ファイルは、3DMLW 言語構文に限定された命令を含む 単純なテキスト ファイルです。
<?xml version='1.0' standalone='no'?>
<document>
<content2d> <area width= '200' height= '100' color= '#C0C0C0FF' texture= 'flower.png' /> </content2d> <content3d id= 'content' camera= '{#cam}' > <camera id= 'cam' class= 'cam_rotation' y= '10' z= '40' viewy= '10' /> <box name= 'ground' width= '100' height= '2' depth= '100' color= 'green' class= 'ground' /> <box name= 'dynamic' y= '20' width= '10' height= '10' depth= '10' color= 'blue' /> </content3d> </document>
3DMLWでは、2Dコンテンツと3Dコンテンツはそれぞれ独立して扱われますが、重ね合わせることは自由です。3Dシーンのアニメーション化や様々なイベントの処理には、Luaスクリプト機能が提供されています。以下のスクリプトスニペットは、色のフェード処理を示しています。
< script type = 'text/x-lua' >< ! [ CDATA [ receiver = Reference . get ( "@receiver" ); c = receiver : attributeColor ( "color" ); c : setAlpha ( c : getAlpha () + 1 ); if c : getAlpha () > 255 then c : setAlpha ( 0 ); end receiver : putAttribute ( "color" , tostring ( c )); ]] > </ script >
.3ds、.obj、.an8、.blendファイル形式の3D モデルの使用がサポートされていますが、3DMLW プラグイン インターフェイスを使用すると、他の形式を簡単に拡張できます。
3DMLW ファイルは拡張子として .3dmlw (例: filename.3dmlw) を使用し、 HTMLと同様にリンクできます。
3DMLWの表示
3DMLWコンテンツは、3D Technologies R&Dが提供するアプリケーション(Internet ExplorerやNPAPI対応ブラウザ(Mozilla Firefox、Operaなど)用のプラグインを含む)を使用して閲覧できましたが、これらのアプリケーションは現在は利用できません。
3DMLWの使用法
3DMLWはタリン旧市街の3Dアプリケーションに使用されました。3D Technologies R&Dも、 3D Wayfinderアプリケーションで3DMLWエンジンの一部を使用しています。
参照
参考文献
- ^ 「3DMLW」。
外部リンク
- 公式サイト(メンテナンスされていない)
- 3Dテクノロジー研究開発
- SourceForgeの3DMLW
- 「3DMLW」。フリーコード。