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: Philippe C . D . Robert
Subject: Re: [Gnu3dkit-dev] gnuDKit.info: RenderKit - questions
Date: Sat, 16 Nov 2002 13:32:02 +0100

Hi,

On Monday, November 11, 2002, at 11:18  Uhr, Brent Gulanowski wrote:
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?

I agree that this idea was less optimal, it also was too complex for what I had in mind. I thought about all this and now I think the best solution is that we always use a scene graph composed of G3DNodes. Now in order to be able to render data which comes in another representation we include this using a G3DPlugin node. What do you think?

Now the next question is who guarantees consistency, how can we make sure that an action always knows how to handle a custom plugin ... I guess this requires some more brain cycles...:-)

<snip>

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?

Exactly. This is also addressed by the plugin node concept. Hmmm ... maybe we should call this thing even G3DProxy?

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





reply via email to

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