a belated update for all my hardcore fans...of which there is one(thanks mum)
Work on this had come to an almost complete halt due to me having to do some actual work (for money and stuff). Also.....i now sport one of the largest afro's known to man, at least for the next week.
I have decided to go with an XNA content pipeline based system, which to the best of my knowledge will require an importer (for SVG to DOM) , a processor(for DOM to intermediary) and a reader to read it into an XNA project. Having said that, as far as what I have to do, nothing much has changed.
So.... on to progress...
Shape properties into Vector arrays are nearly done, just some issues with winding of complex shapes. Converting circles into a serial Vertex Array from a midpoint algorithm is apparently not as easy as it sounds.
Next up is curve calculations for some of those complex curvy shapes (and I can tell you...I'm soooo looking forward to that ..../sarcasm).
I was thinking about how the SVG format allows for grouped elements and re-use, I'm looking at a way of using this to reduce end file size and for ease of use in code.
Think of a 2d wireframe box, made up of 4 SVG lines (or vectors as the case may be) you could use the names of the elements from the SVG file format to reference sections of it.
For example, if i created a group called "MyBox" and in it were 4 lines each called "Left", "Right"," "Top" and "Bottom" respectively, wouldn't it be cool if you could reference them directly... with say a "MyBox.Left" or more likely a MyBox.Child["Left"]
That is a basic example and calling naming children with absolute references ) is probably not a good idea (what would happen if you moved left and right to opposite sides, I think in principle it would be cool.
That, However is Way ahead of myself...basic's first..feature creep later(or never), and so Curves it is.
If I Build it, Will they Come?
As always, thoughts, suggestions, ideas....flames, spelling mistakes
All are welcome and useful (mostly).
Next time i promise more colour and less brackets(maybe)
My main Project at the moment is an XNA SVG interpreter/parser...thingy
Basically a way to load SVG files into XNA either through the content pipeline or manually, as a series of data structures, Vectors or possibly as custom .x files
Having never even looked at implementing anything from the spec before I'm not really sure what sort of things I'll need to be doing or any particular order, but I can guess.
Here's the initial road map of things I'm doing(which may change)..
Key: Completed In Progress Not Started,but have an idea of how to go about it Needs More Research
Initial Road Map:
Complete parser for Path Command
Implement bezier curve calculations
Implement smoothed bezier curve calculations
Implement Quadratic Bezier calculations
Add Polybezier support
Implement Elliptical Arc Calculation
Complete parser for Polylines
Complete Parser for basic shapes
Basic Shape Properties into Vector Arrays (Circle) (Rect) (Ellipse)
Shape To Path Conversion(Where Possible)
I don't currently plan on supporting text but that may change in the future.
I'd like to add all the functionality I can that I think would be useful then potentially separate it into smaller libraries for specific uses(whilst maintaining the complete library).
As I said previously I don't have that much experience in this sort of thing so any help/feedback/suggestions etc would be appreciated.
i'm hoping to pick up ideas and suggestions from experienced coders so i can make it as useful as possible.