2009-04-14 13 views
1

特にCOLLADAとCOLLADA FX SIDのSIDを解決するためのルールはあまり明確ではありません。特にCOLLADA FX SIDに関しては、特定のSIDの検索を開始する要素をどのように知っていますか?たとえば、<texture>要素の「質感」atttibuteを考えてみましょう:COLLADA FX SIDの解決

<effect id="Scene_Material_fx"> 
    <profile_COMMON> 
     <newparam sid="acorn_png_surface"> 
      <surface type="2D"> 
       <init_from>acorn_png_img</init_from> 
      </surface> 
     </newparam> 
     <newparam sid="acorn_png_sampler"> 
      <sampler2D> 
       <source>acorn_png_surface</source> 
      </sampler2D> 
     </newparam> 
     <technique sid="default"> 
      <phong> 
       ... 
       <diffuse> 
       <texture texture="acorn_png_sampler" texcoord="diffuse_TEXCOORD"></texture> 
       </diffuse> 
       ... 
     </phong> 
     </technique> 
    </profile_COMMON> 
    </effect> 

私は<profile_COMMON>で検索を開始する場合、私は<texture>要素の偉大-偉大-祖父母である、<texture>で参照されるSIDを見つけることができますそれには参照が含まれていますが、私が<effect>から検索を開始すると、それを見つけることもできます。どのように開始要素が決定されますか?それは仕様のどこかで定義されていますか?

特定の<texture>要素によって参照されるsidがドキュメントルートにどれだけ近づいているかに制限がありますか?上記の例では、<effect>親のように<profile_COMMON>の外に表示される可能性がありますか?その要素からドリルダウンして参照されたsidを見つけることが保証されている "最根"要素はどれですか?

更新:この質問は、これまでのところCOLLADA forumsに掲載されていますが、回答はありません。私は当面は<texture>の "texture"属性で参照されるSIDが常に<profile_COMMON>の下にあると仮定します。それが間違っていると、インポーターが有効な入力で失敗する可能性があることを意味しますが、COLLADAコミュニティ自体はフィードバックを提供していないので、私は何もできません。

答えて

1

私はあなたの痛みを感じることができます;-)。 Colladaの仕様は本当に分かりにくいです。

<で宣言されたパラメータは、のプロファイル>:スコープ内にあるだけでなく、そこにも表示されます。

しかし、私の経験から判断すると、輸出業者は(<のプロフィール>の下で)ローカルパラメータを持つ傾向があります。

0

これは古い質問ですが、私はSIDが親IDのレベルで「スコープ付きID」であると答えていると思います。したがって、技術的には要素のすぐ下で検索を開始し、すべての部分はそのブロックの下で一意です。

これはいつも私の理解だったとにかく...