2009-04-14 4 views
1

특히 COLLADA에 SID를 해결하기위한 규칙 및 COLLADA FX의 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> 

I 수있는 <texture> 요소의 고조 할아버지는 내가 <profile_COMMON>에서 검색을 시작하는 경우 <texture>가 참조하는 SID를 찾을 참조가 포함되어 있지만 <effect>에서 검색을 시작하면 찾을 수도 있습니다. 그렇다면 어떻게 시작 요소가 결정됩니까? 스펙 어딘가에 정의되어 있습니까?

은 사양에서는 문서 루트 특정 <texture> 요소에 의해 참조 대상의 SID에 가까운 발견 될 수에 제한을 제공합니까? 위의 예에서 (예 : <effect> 상위) 외부에 표시 될 수 있습니까? 그 요소에서 드릴 다운하여 참조 된 sid를 찾을 수있는 "근본적인"요소는 무엇입니까?

업데이트 : 나는이 질문을 COLLADA forums에 게시했으나 아직 응답하지 않았습니다. 나는 당분간 <texture>에 의해 참조 된 SID가 항상 <profile_COMMON> 아래에있는 "텍스처"속성이라고 가정 할 것이라고 결정했습니다. 그것이 틀렸다면 수입업자가 유효한 입력에 실패 할 수 있음을 의미하지만 COLLADA 커뮤니티 자체는 이에 대한 피드백을 제공하지 않으므로 아무 것도 할 수 없습니다.

답변

1

나는 당신의 고통을 느낄 수 있습니다 ;-). Collada 스펙은 실제로 이해하기 어렵습니다.

당신이 < 효과 > 범위에서 선언 PARAMS을 가질 수로 (뿐만 아니라 < 프로필 > 내부 : 매개 변수에 대한 제 7 장) 당신도이 보일 것입니다.

하지만. 내 경험에 비추어 볼 때 수출 업체는 현지 매개 변수 (< 프로필 >)를 사용하는 경향이 있습니다.

0

이것은 오래된 질문이다,하지만 난 대답은 SID의 부모 ID의 수준에서 '아이디의를 범위'것을 믿습니다. 따라서 기술적으로 요소 바로 아래에서 검색을 시작하고 모든 시드는 해당 블록 아래에서 고유합니다. 어쨌든, 항상 내 이해했다

...