Closed EtaLoop closed 1 month ago
Hello, Could you please add simple Usage in README.md.
Something like that :
let cube = r##"<?xml version="1.0" encoding="utf-8"?> <COLLADA xmlns="http://www.collada.org/2005/11/COLLADASchema" version="1.4.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <asset> <contributor> <author>Blender User</author> <authoring_tool>Blender 2.79.0 commit date:2018-03-22, commit time:14:10, hash:f4dc9f9d68b</authoring_tool> </contributor> <created>2018-11-19T22:54:36</created> <modified>2018-11-19T22:54:36</modified> <unit name="meter" meter="1"/> <up_axis>Z_UP</up_axis> </asset> <library_images/> <library_effects> <effect id="Material-effect"> <profile_COMMON> <technique sid="common"> <phong> <ambient> <color sid="ambient">0 0 0 1</color> </ambient> <diffuse> <color sid="diffuse">0.64 0.64 0.64 1</color> </diffuse> <shininess> <float sid="shininess">50</float> </shininess> <index_of_refraction> <float sid="index_of_refraction">1</float> </index_of_refraction> </phong> </technique> </profile_COMMON> </effect> </library_effects> <library_materials> <material id="Material-material" name="Material"> <instance_effect url="#Material-effect"/> </material> </library_materials> <library_geometries> <geometry id="Cube_001-mesh" name="Cube.001"> <mesh> <source id="Cube_001-mesh-positions"> <float_array id="Cube_001-mesh-positions-array" count="24">-0.5 -0.5 -0.5 -0.5 -0.5 0.5 -0.5 0.5 -0.5 -0.5 0.5 0.5 0.5 -0.5 -0.5 0.5 -0.5 0.5 0.5 0.5 -0.5 0.5 0.5 0.5</float_array> <technique_common> <accessor source="#Cube_001-mesh-positions-array" count="8" stride="3"> <param name="X" type="float"/> <param name="Y" type="float"/> <param name="Z" type="float"/> </accessor> </technique_common> </source> <source id="Cube_001-mesh-normals"> <float_array id="Cube_001-mesh-normals-array" count="18">-1 0 0 0 1 0 1 0 0 0 -1 0 0 0 -1 0 0 1</float_array> <technique_common> <accessor source="#Cube_001-mesh-normals-array" count="6" stride="3"> <param name="X" type="float"/> <param name="Y" type="float"/> <param name="Z" type="float"/> </accessor> </technique_common> </source> <vertices id="Cube_001-mesh-vertices"> <input semantic="POSITION" source="#Cube_001-mesh-positions"/> </vertices> <triangles material="Material-material" count="12"> <input semantic="VERTEX" source="#Cube_001-mesh-vertices" offset="0"/> <input semantic="NORMAL" source="#Cube_001-mesh-normals" offset="1"/> <p>1 0 2 0 0 0 3 1 6 1 2 1 7 2 4 2 6 2 5 3 0 3 4 3 6 4 0 4 2 4 3 5 5 5 7 5 1 0 3 0 2 0 3 1 7 1 6 1 7 2 5 2 4 2 5 3 1 3 0 3 6 4 4 4 0 4 3 5 1 5 5 5</p> </triangles> </mesh> </geometry> </library_geometries> <library_controllers/> <library_visual_scenes> <visual_scene id="Scene" name="Scene"> <node id="Cube" name="Cube" type="NODE"> <matrix sid="transform">1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</matrix> <instance_geometry url="#Cube_001-mesh" name="Cube"> <bind_material> <technique_common> <instance_material symbol="Material-material" target="#Material-material"/> </technique_common> </bind_material> </instance_geometry> </node> </visual_scene> </library_visual_scenes> <scene> <instance_visual_scene url="#Scene"/> </scene> </COLLADA>"##; let doc = mesh_loader::collada::from_str(&cube); if let Ok(doc) = doc { for mesh in &doc.meshes { assert_eq!(mesh.name, "Cube_001-mesh"); println!("Mesh name : {}", mesh.name); println!("Vertices : {:?}\n", mesh.vertices); println!("Normals : {:?}\n", mesh.normals); println!("Textcoords : {:?}\n", mesh.texcoords); println!("Faces : {:?}\n", mesh.faces); println!("Color : {:?}\n", mesh.colors); } for material in &doc.materials { assert_eq!(material.opacity, None); assert_eq!(material.shininess, Some(50.0)); assert_eq!(material.index_of_refraction, Some(1.0)); assert_eq!(material.color.diffuse, Some([0.64, 0.64, 0.64, 1.0])); assert_eq!(material.color.ambient, Some([0.0, 0.0, 0.0, 1.0])); assert_eq!(material.texture.diffuse, None); assert_eq!(material.texture.ambient, None); } }
Hello, Could you please add simple Usage in README.md.
Something like that :