KhronosGroup / KhronosGroup/OpenCOLLADA

sampler2D triggers schema validation errors in Collada 1.5

Open
#648 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
678
Forks
260
PR merge metrics
No merged PRs in 30d

Description

Using instance_image on sampler2D triggers validation errors. Something feels off with the schema.
Keeping sampler2D empty validates the schema.

Error:

xmllint --noout --schema http://www.khronos.org/files/collada_schema_1_5 issue.dae
element sampler2D: Schemas validity error : Element '{http://www.collada.org/2008/03/COLLADASchema}sampler2D': Character content is not allowed, because the content type is empty.

Test Case:

<?xml version="1.0" encoding="utf-8"?>
<COLLADA xmlns="http://www.collada.org/2008/03/COLLADASchema" version="1.5.0">
  <asset>
    <contributor>
      <author>issue</author>
      <authoring_tool>issue</authoring_tool>
    </contributor>
    <created>2021-03-24T13:32:13.351Z</created>
    <modified>2021-03-24T13:32:13.351Z</modified>
    <up_axis>Y_UP</up_axis>
  </asset>
  <library_images>
    <image id="sc-3-d-shelly-v-2-01-ktx">
      <init_from>
        <ref>sc3d/shelly_v2_01.ktx</ref>
      </init_from>
    </image>
  </library_images>
  <library_effects>
    <effect id="character_mat-effect">
      <profile_COMMON>
        <newparam sid="sc-3-d-shelly-v-2-01-ktx-sampler">
          <sampler2D>
            <instance_image url="#sc-3-d-shelly-v-2-01-ktx"/>
          </sampler2D>
        </newparam>
        <technique sid="common">
          <phong>
            <emission>
              <color>0 0 0 1</color>
            </emission>
            <ambient>
              <color>0 0 0 1</color>
            </ambient>
            <diffuse>
              <texture texture="sc-3-d-shelly-v-2-01-ktx-sampler" texcoord="UVMap"/>
            </diffuse>
            <index_of_refraction>
              <float>4</float>
            </index_of_refraction>
          </phong>
        </technique>
      </profile_COMMON>
    </effect>
  </library_effects>
  <library_materials>
    <material id="character_mat">
      <instance_effect url="#character_mat-effect"/>
    </material>
  </library_materials>
  <library_visual_scenes>
    <visual_scene id="default-scene">
      <node id="CHARACTER" sid="CHARACTER" type="NODE"></node>
    </visual_scene>
  </library_visual_scenes>
  <scene>
    <instance_visual_scene url="#default-scene"/>
  </scene>
</COLLADA>

People mentioning this problem:

  1. https://community.khronos.org/t/load-textures-in-collada-1-5/104653
  2. https://community.khronos.org/t/schema-problem-with-sampler2d/6329

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by validating the supplied XML test case with xmllint against the Collada 1.5 schema and compare the sampler2D definition with the two linked Khronos discussions. The work is done when the schema's handling of instance_image inside sampler2D is corrected or the expected schema behavior is documented and verified against the test case.

Written by the indexing model from the issue text.

Assessment

Tech stack
xml
Domain
tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.