Level of detail

David Ray cognitionmission at gmail.com
Tue Jul 30 07:27:13 PDT 2013


Hi Richard,

A brief question. Is there a resource you could point me to for details about the concepts and mechanisms you just mentioned?

Namely:

1. The "Renderer" you referred to (not sure if its a concept or concrete object)

2. Picking. Of course I've seen the term used, but would like to understand it completely.

3. Node Annotation - how nodes interact with other stages in their presentation, and specifically how one "talks" to the renderer.

Thanks for any help you could give me.

David

Sent from my iPhone

On Jul 29, 2013, at 4:12 PM, Richard Bair <richard.bair at oracle.com> wrote:

>> The concept of Level of detail was recently brought up.  I believe it was
>> referring to 3D, but the concept applies to 2D as well, when we have the
>> concept of 2D scaling ("zoom")
> 
> This is a great point.
> 
>> Is there a current plan to address this?
> 
> I don't think so (at least I have not been part of any conversations), other than knowing something needs to be done at some point.
> 
>> Is there a current technique that can be used to get something close?
> 
> WIth application knowledge I would imagine so.
> 
>> For example, the two use cases I have right now:
>> 
>> If I have a lot of Text nodes and they become unreadable when zoomed out,
>> is there a way I could have them fade out and not cost me layout and
>> rendering time?
> 
> I don't know the way the app is written but you could change opacity of text as the zoom level increases?
> 
>> If I have an image that is rendered from SVG data and used in multiple
>> places in the scene graph.  I want to update it if the user changes the
>> zoom level so that it isn't blocky, or replace it with the vector graphics
>> used to render it if the user zooms in so much that the image size would be
>> ridiculous.
> 
> I don't have any good ideas here. Maybe one of our 3D experts can tell us how this is typically handled in 3D.
> 
>> I can't think of a reasonably easy way to implement those cases.
>> 
>> I'm thinking of some new kind of Pane that is sensitive to the size that it
>> will finally be rendered at.  It could be used to hide or replace it's
>> children based on the final bounds it will have on screen.
> 
> A different way to handle this is to be able to annotate a node (or a PathElement) with LOD information, and let the renderer know what to do with stuff that falls out of that LOD. But really it is more than just the renderer, it is also layout & bounds & CSS & picking such too, I would guess. If something fails the LOD check, it seems it should be skipped on any related to layout / visuals. You still want it to show up for #lookup I would guess.
> 
> Richard


More information about the openjfx-dev mailing list