gnu3dkit-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gnu3dkit-dev] G3DRenderer.h


From: Philippe C . D . Robert
Subject: Re: [Gnu3dkit-dev] G3DRenderer.h
Date: Sun, 23 Mar 2003 22:17:24 +0100

On Sunday, March 23, 2003, at 08:33  Uhr, Brent Gulanowski wrote:
On Sunday, March 23, 2003, at 12:37  PM, Philippe C.D. Robert wrote:

On Sunday, March 23, 2003, at 05:04  Uhr, Brent Gulanowski wrote:
For me, the issue then is, how do I not waste the work done by compilation? Can the system leverage that in some other way? What form ought one to compile a sub-tree into? (What forms are there?) BTW, I'm asking these q's out loud, not asking you to answer them. >>> :)

What do you mean by "not wasting work done by compilation"?

The creation of the optimized rep. It has to be performed every time the scene is loaded, and definitely each time the application is run. What if the optimization work is time-consuming? A parametric object getting converted into polygons? Hundreds of such conversions? How do you save the results of work done by the renderer? Would you rather something that involved be done by the application? Is it enough to say that, if the application wants to preserve the results of any calculations, then it has to do such calculations itself, for the sake of consistency and simplicity?

You can of course imagine both scenarios, on one side the core 3DKit which optimises structural scene graph data at runtime and on the other side applications which perform scene optimisations at a higher level. Both are valid and powerful techniques and both are required. It will furthermore be possible to optimise a scene graph and encode it afterwards (in this optimised state) for later usage.

OK, great, that's sort of what I was getting at, in my way. :\ What will do the encoding and decoding -- RenderKit or the application? If the renderer does the optimization (the former case), how does this get recovered? The renderer could store this compiled data back in the scene graph. (I though I saw methods for this, but can't find them now.)

Nodes I suppose are made aware that that has been done (so that they know to call drawObject: instead of traversing through their children). Thus when the scene graph is re-encoded, it stores the optimized version. This is done via an action I presume. (G3DEncodeAction? Have we talked about this? I can't find anything about it in the mailing list archives.) Can it store both compiled and uncompiled versions or one or the other?

http://developer.apple.com/techpubs/macosx/Cocoa/TasksAndConcepts/ ProgrammingTopics/Archiving/index.html

-Phil
--
Philippe C.D. Robert
http://www.nice.ch/~phip





reply via email to

[Prev in Thread] Current Thread [Next in Thread]