8

これを効率的に実装するには、どのレイヤーが役立ちますか? できれば、以下にリストされているこれら 3 つのコンポーネントを初期のレイヤーと一緒に取得し、残りをコード化できるようにします。

グラフィック エンジンで使用する COLLADA ロード ライブラリを作成しています。もちろん、始めてすぐに、これはかなり大きな仕事のように思えます。私は今、さまざまなレイヤーを使用するライブラリを作成するつもりです。

私はまだ COLLADA を理解していません。私はあるかもしれないと仮定しています:

  • ジオメトリ レイヤー
  • シェーダーレイヤー
  • テクスチャレイヤー

私が確信していないこれらでさえ、別の種類の階層化スキームの一部である必要があるかもしれません.

余談ですが、別段の指示がない限り、ファイルを読み取るために、irrXMLまたはここで読んだばかりのこの興味深い XML ライブラリを使用する可能性が最も高いでしょう。

4

1 に答える 1

15

Open Asset Import Library ( http://assimp.sourceforge.net/ )をご存知ですか? グラフィック エンジンでの Collada の読み込みとターゲットの使用を適切にサポートしています。自分で collada ローダーを作成するのは難しいだけでなく、生産的な使用に十分な安定性を得るには時間がかかります。その主な理由は、形式が非常に複雑であるためです (または、Assimp の Collada ローダーの主な作成者が冗談めかして言ったように、ほぼチューリング-完全な) そして、すべての輸出業者には独自の奇妙な習慣があります。

追加の機能が必要な場合は、Assimp の Collada ローダーに基づいて作業を行い、必要なものだけを追加できます (BSD ライセンス。ソースを特定する限り取得できます)。

注:私はプロジェクトに所属しているため、公平ではありません。しかし、私たちが独自の Collada ローダーを作成する際に経験した恐ろしい経験の後、私はあなたに警告しなければならないように感じます…</p>

補足として、私はirrXMLを使用する可能性が最も高いです

私たちも使っています。本当にゼロから始める場合は、しないでください。TinyXML などの DOM パーサーを使用します。Collada は複雑ですが、非常に明確に定義されています。ドキュメント ツリーを独自に構築する必要があるため、SAX パーサーは作業を難しくします (完全なドキュメントに似たデータ構造が *必要になります** - Collada 要素は高度に相互接続されています)。それらから意味のあるものを読み取るには、さまざまな相互参照を解決する必要があります)。

于 2011-02-18T12:11:01.930 に答える