User:Carlosadc
From K-3D
GSoC Project: Import and Export plug-ins
This is my GSoC project homepage where I'm going to keep a detailed description of my current activities and progress.
RoadMap
Formats to be supperted on the first stage of the project.
- .svg
- .collada (.dae ) Collada Article
- .md2
- .3ds
- .obj
- ogre
Schedule
27 April - 3 May
In order of priority:
- Group the complete set of plug-ins to be developed: with Joe and Joaquin
- Design a robust structure to easily code mesh readers and writers: I was thinking on some kind of template class as the components are basically the same between formats and mostly changes on parsing methods.
May 4 - May 11
- Read SVG documentation
- Read libxml2 documentation
- Implement a simple svg importer for just a path curve
May 12 - May 18
- Started the SVG MeshReader
- Design and Implemented first version of the parsing scheme
- Implement SVG rectangles
May 19 - May 25
- Mid-term evaluations at school, didn't make any progress
May 26 - June 1
- Completed SVG path reading
- Continue completing SVG primitives reading (hopefully fully implement all by June 1)
June 2 - June 9
- Completed SVG primitive parsing
- Work on coordinate transformation attributes
June 10 - June 17
- Conclude primitive parsing (I was having trouble with the parsing of the arc attribute of the path primitive but I saw some implementation details on the SVG documentation and worked it out)
- Conclude by documenting the SVGReader
June 18 - July 1
- Started reading COLLADA specification
- Started reading and redesigning COLLADA mesh reader started by Mattia
- Added transformation handling for daeParser
- Started a wiki to show COLLADA importing expectations
- Started COLLADA importer and extended daeParser to handle cameras, lights and meshes
- Started importing of cameras and lights (no attributes yet just node creation)
July 1 - July 8
- Redesign of COLLADA element loading
- Redesign of Node creation for document importing
- Mesh importing completed
- Working on importing non k3dsdk primitives as nodes (lights, cameras, transformations)
- Working on connecting nodes
Up till now (July 31)
I haven't updated the wiki recently and lost track of what happened each week so here is the overall till now:
- Completed collada mesh reader
- Completed collada mesh writer
- Completed first iteration of collada document importer (correctly loads nodes, transformations, cameras and meshes, with it's proper correct instancing, still missing other node tipes and parenting)
- Second iteration on SVG mesh reader (paths and lines using a single curve)
- Completed md2 mesh reader
- Wrote docuemtation of plug-ins so far on wiki
- Commented the code so far
- Worked on test files for plug-ins so far
- Almost finished with the 3ds mesh reader
August 1 - August 8
- Finish 3ds reader
- Start second iteration of collada, and support texture coordinates and material properties
All the way to "pencil's down date" August 18
- My primary goal for this deadline is to leave the collada plug-ins as functional as possible with the things I've been working on. Some special issues to work on are:
- Parenting
- Transformations
- Empty nodes in collada hierarchy tree
- Texture coordinates
- Basic material managing
- Basic light managing
- Conclude camera importing
Progress
Working on SVG MeshReader:
- Completed primitives reading
- Completed path reading

