关于解决科拉达小岛屿发展中国家,特别是科拉达外汇小岛屿发展中国家的规则并不十分明确。特别是关于COLLADA小岛屿发展中国家,我如何知道从哪个元素开始搜索特定的SID?例如,考虑<texture>元素的“纹理”特征:
<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>如果我在<texture>上开始搜索,我可以找到<profile_COMMON>引用的SID,这是包含引用的<texture>元素的曾祖父,但如果我从<effect>开始搜索,也可以找到它。那么,如何确定起始元素呢?它在规范的某个地方定义了吗?
规范是否限制了某个特定<texture>元素引用的sid离文档根有多近?在上面的示例中,它是否可能出现在<profile_COMMON>之外,比如它的<effect>父级内部?哪一个是“最根”元素,通过从该元素向下钻取,可以保证在其中找到引用的sid?
更新:我也在COLLADA论坛上发布了这个问题,到目前为止还没有得到任何回应。我已经决定,目前我只是假设<texture>的“纹理”属性所引用的SID将始终在<profile_COMMON>下找到。如果这是错误的,这意味着我的进口商可能在有效输入方面失败,但COLLADA社区本身并没有对此提供任何反馈,因此我无能为力。
发布于 2009-05-04 23:29:47
我能感觉到你的痛苦-)Collada的规格真的很难理解。
由于您可以在作用域中声明参数(不仅仅是在:第7章中,关于参数),所以您也应该在其中查看。
但。从我的经验来看,出口商往往会有当地的伙伴关系(低于),所以你的方式也会奏效。
发布于 2009-11-26 13:11:53
这是一个老问题,但我相信答案是,SID在父ID级别上是“作用域ID”,所以从技术上说,就在元素下面开始搜索,并且在该块下所有SID都是唯一的。
不管怎样,这一直是我的理解.
https://stackoverflow.com/questions/749576
复制相似问题