The culling is done on a per-shape basis.  If any part of a Shape3D
intersects the viewing frustum, the entire shape is sent to the
graphics accelerator.  As you correctly point out, this leads to a
tradeoff that has to be made: too many shapes with a small amount of
geometry can lead to inefficient rendering; too few shapes with a large
amount of geometry (specifically, with a large bounding volume) can
lead to inefficient culling.

We are looking into the possibility of a compile() optimization that
would split Shape3Ds that get too large (or limit the combining of
Shapes that happen with the new 1.2.1 compile optimization), but
haven't found a good heuristic for doing that yet.

--
Kevin Rushforth
Java 3D Team
Sun Microsystems

[EMAIL PROTECTED]


>Date:         Tue, 19 Sep 2000 10:49:13 -0400
>From: "Yazel, David J." <[EMAIL PROTECTED]>
>Subject:      Re: [JAVA3D] BUMP: FOV and Occlusion culling
>To: [EMAIL PROTECTED]
>
>Thank you!
>
>So to dig a bit further, what is the level of granularity for your fov
>culling: Shape, Geometry Array, polygon or vertice?  If you have a shape 3d
>that has 20k points and one vertice of that overlaps the view frustum, is it
>all sent?  Are there two stages of culling, one by shape then one by point?
>Just trying to figure out the best way to optimize my shapes for best
>performance.  For example it has seemed to me that performance improved
>dramatically when I increased the number of shapes, but decreased their
>sizes.
>
>Dave Yazel
>
>> ----------
>> From:         Kevin Rushforth[SMTP:[EMAIL PROTECTED]]
>> Reply To:     Discussion list for Java 3D API
>> Sent:         Tuesday, September 19, 2000 10:27 AM
>> To:   [EMAIL PROTECTED]
>> Subject:      Re: [JAVA3D] BUMP: FOV and Occlusion culling
>>
>> Java 3D performs view frustum culling, only sending geometry that is
>> within the viewing frustum to the graphics accelerator.
>>
>> We have done research into general purpose occlusion culling, but it
>> isn't currently in Java 3D (nor is it currently planned for the 1.3
>> version).
>>
>> --
>> Kevin Rushforth
>> Java 3D Team
>> Sun Microsystems
>>
>> [EMAIL PROTECTED]
>>
>>
>> >Date:         Mon, 18 Sep 2000 22:14:07 -0400
>> >From: David <[EMAIL PROTECTED]>
>> >Subject:      [JAVA3D] BUMP: FOV and Occlusion culling
>> >To: [EMAIL PROTECTED]
>> >
>> >Would love some feedback on this.
>> >
>> >Dave Yazel
>> >
>> >----- Original Message -----
>> >From: Yazel, David J. <[EMAIL PROTECTED]>
>> >To: <[EMAIL PROTECTED]>
>> >Sent: Monday, September 18, 2000 9:28 AM
>> >Subject: [JAVA3D] FOV and Occlusion culling
>> >
>> >
>> >        What culling does Java3d do?
>> >
>> >        I am defining culling as "not sending the shape geometries to the
>> >graphics card", so I don't count z-buffer.
>> >
>> >        1. Does it send every shape that is within a sphere surrounding
>> the
>> >view at a radius of the far clip?
>> >
>> >        2. Does it perform a field of view cull?  Does it send geometry
>> to
>> >the card which is not within the field of view?
>> >
>> >        3. Does it perform ANY occlusion culling? (Other than zbuffer)
>> >
>> >
>> >        How have people here implemented their occlusion culling?  have
>> you
>> >sorted their entire scene graph into an oct tree and then process the
>> tree
>> >on every frame, disabling and enabling nodes as appropriate?  If so how
>> has
>> >performance been?  Is there substantial overhead in disabling a
>> branchgroup
>> >or shape node?
>> >
>> >        Thanks in advance,
>> >
>> >        Dave Yazel
>> >
>> >=========================================================================
>> ==
>> >To unsubscribe, send email to [EMAIL PROTECTED] and include in the
>> body
>> >of the message "signoff JAVA3D-INTEREST".  For general help, send email
>> to
>> >[EMAIL PROTECTED] and include in the body of the message "help".
>> >
>> >=========================================================================
>> ==
>> >To unsubscribe, send email to [EMAIL PROTECTED] and include in the
>> body
>> >of the message "signoff JAVA3D-INTEREST".  For general help, send email
>> to
>> >[EMAIL PROTECTED] and include in the body of the message "help".
>> >
>>
>> ==========================================================================
>> =
>> To unsubscribe, send email to [EMAIL PROTECTED] and include in the
>> body
>> of the message "signoff JAVA3D-INTEREST".  For general help, send email to
>> [EMAIL PROTECTED] and include in the body of the message "help".
>>
>
>===========================================================================
>To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
>of the message "signoff JAVA3D-INTEREST".  For general help, send email to
>[EMAIL PROTECTED] and include in the body of the message "help".
>

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to