gnu3dkit-dev
[Top][All Lists]
Advanced

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

Re: [Gnu3dkit-dev] gnuDKit.info: RenderKit - questions


From: Brent Gulanowski
Subject: Re: [Gnu3dkit-dev] gnuDKit.info: RenderKit - questions
Date: Mon, 11 Nov 2002 17:18:55 -0500

On Monday, November 11, 2002, at 04:27  PM, Philippe C.D. Robert wrote:
A "Scene" is an abstraction. A "Scene rep" is a particular construction of data representing that scene for a particular ... can I say "context"? Maybe we need to consider a context -- not an OpenGL Rendering Context, but a general scene *Presentation* context. That would include files and serialized forms (say, for transmission), scan line rendering contexts (both raw arrays and visibility sorted lists and trees), offline rendering contexts (for ray tracing, radiosity and other lighting calculations), scene databases (pure scene descriptions which are designed for freeform, database-style access), and even textual summaries (for example, in an NSOutlineView).

I guess this is what I call scene rep, no? ...:-)

Sorry. What I meant was that the Presentation would not necessarily be an explicit class -- it would be the implicit environment where the scene rep was used. And then I listed a bunch of examples of scene reps (doh!) ;-). Although maybe multiple types of reps would work in different Presentation contexts... If you have multiple reps of a scene, how do you know which one to use? Is that pre-determined? Considering our inspiration: how does NSImage know which image rep to use?

It would be interesting if we could create a structure which could hold combinations of these sorts of reps <...>

This is what I had in mind - more or less - but there are problems with this concept. Ie. how would you manipulate (read: transform) an object which influences more than one representation, how would you traverse a scene, how ...

Well, the painful way is if you still have the "original" interactive rep, you have to regenerate the other reps. But if the fast display reps can still be referenced by decoupled structural data, it might be possible that only a small chunk has to be re-evaluated. If the data is stored in a big array, that will be hard. That's why I was using the term "list" before -- if you had lists of arrays, which maintained some of the structural divisions, you could create the changes locally and then write out a new array and dispose of the old one.

[snip]

Reading all this somehow makes me think that the approach of having a central scene graph which may manage subscene in various representations is more suitable. It is more convenient and easier to use w/o loosing functionality.

I just disposed of another message that was getting too long where I was going to suggest a meta-graph, which contained divisions of scenes, instead of divisions of objects. One scene may then contain any (or all) of the reps considered, including a scene graph scene rep.

Here's a very good side effect if we can get such a thing working: sub-scene paging. If you have a scene made of sub-scenes, perhaps in a very large-chunk Octree, it could contain nothing by G3DScenes -- basically pointers to individual scenes, which would only load their scene reps when necessary. This could proceed down the hierarchy as many layers as needed. When a sub-scene is required for rendering, the Scene is swapped out for the scene rep, which is attached to the parent node, as if it had been there all the time.

I guess this can also be achieved by using special kind of subscenes as part of the central scene graph.

Like a proxy?

--
Brent Gulanowski                                address@hidden

http://inkubator.idevgames.com/
Working together to make great software.





reply via email to

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