This is great to see! I have something similar in the wings that's only partially implemented, but in XML instead. It stores most of the stuff Jo was talking about. I wrote it as a way to export cameras and nulls to Nuke and Fusion. My goal is to have a series of tools for various apps all writing and reading a common XML file. Cameras and nulls can be exported, then updated if something changes. With custom UI for setting options. Anyway, I haven't finished writing all the different plugins, but I've got a couple of apps covered already. I debated between JSON and XML and finally just went with XML.

Glad to see this in the works, Gene! Can't wait to see more!

-Tim C


On 7/10/2013 7:10 PM, Raffaele Fragapane wrote:
When you'll have at most a few dozen curves, even on a thousand frame long sequence, I honestly don't think cheapening the data matters one iota.
You can always introduce a zip compression stage to the I/O.

Optimizing early and ending data poor is always a mistake. Purging is easy, both on I/O and in dev terms, adding data you don't have is usually betwene painful and downright impossible.

If footprint was a concern here, sure, it'd make sense, on something that on a bad day will have a hundred parameters at the most (and for a mono cam I'd struggle to think of a hundred parameters I'd want animated) saving 16 floats per frame instead of 64 makes little difference in practical terms.


On Thu, Jul 11, 2013 at 10:01 AM, Alok Gandhi <[email protected] <mailto:[email protected]>> wrote:

    Hey Gene looking at your schema I do not see animated value for
    parameters like focal length, near and far planes. Though near and
    far are not usually keyed but you never know. I have worked on a
    stereoscopic project and we did need to plot the clipping planes.
    Anyways, focal length does fairly get animated at times. In the
    interest of generality and being generic I would make room for
    values for nearly all animatable parameters. For the case of
    optimization the writer plugin can use only one value in the list
    if the parameter is not animated else it will take all the key
    frame values. Also I would not care for the whole keyframe and
    tangent data in the list but would simply read the values of all
    parameters at each frame and plot the same when I am reading the
    values. But what you are doing with keyframes value storage also
    works, in fact I think it reduces the file size considerably in
    case you do not have much keyframes in the source scene.


    On Wed, Jul 10, 2013 at 7:41 PM, Raffaele Fragapane
    <[email protected] <mailto:[email protected]>>
    wrote:

        Units and scale, and how they correlate, are extremely
        important even in a light weight, portable format. Actually,
        probably more so in one than in a more complex scenario.

        You can't assume people will not care about those because
        their workflow will be independent of it like yours was for a
        few example productions, because very frequently they won't
        have the choice.

        As an interop format that deals with external contributions
        (rendering engines and so on being heavily dependent on it)
        you WILL bump into scale factors whether you like it or not,
        and the format will be rendered useless by not having control
        over those when it'll happen.

        There are things one omits or includes for the sake of
        forecfully encouraging good practices, those are
        practical-philosophical choices and are fine, and best made by
        a benevolent dictator for the project (any half decent
        programming language out there has craptons of those, and they
        are important to give languages and format identity and
        coherence).
        Scaling and units are not one of those, they are a fundamental
        requirement implicit to what you set off to describe with
        these files.




--



--
Our users will know fear and cower before our software! Ship it! Ship it and let them flee like the dogs they are!

--
Signature


Reply via email to