On Fri, Apr 15, 2011 at 3:54 PM, John Hunter <jdh2...@gmail.com> wrote:

>
>
> On Fri, Apr 15, 2011 at 3:42 PM, Benjamin Root <ben.r...@ou.edu> wrote:
>
>>
>> There might be a possible work-around, though.  Maybe (and I am just
>> speculating here) if we can get the core part of matplotlib to specially
>> treat 3d collection objects in such a way that allows the collection to
>> return provide elements and z-order pairs.  It is either that, or we finally
>> try to get OpenGL working again in matplotlib and allow ourselves to specify
>> coordinates in 3-D.
>>
>>
> It should be fairly easy to get a collections object to support multiple
> z-orders *within* the collection.  Across artists, damn near impossible.  I
> don't think you need to provide elements and z-order pairs per-se.  The
> typical way a property is specified for a collection if you want it to vary
> over the elements of the collection is that the property is a sequence, and
> the property is accessed as prop[i%N] where i is the element number and N is
> the length of the property vector.  So if we make zorder a len(elements)
> sequence of z-orders, we can order the collection by the zorder at draw
> time.  Presumably external code would modify the zorder of the collection
> before each draw depending on the view.
>


Within a collection, this is already done correctly (or at least, as well as
one can except with a 2D rendering engine).  It is when you have multiple
artists that exists over parts of the z-order "axis" that there are
problems.  Essentially, if the 3-D bounding boxes overlap, then trouble
ensues.

Also, that speculation I had wouldn't work either, as the problem still
would exist for intersecting patches.  No, what we really need is a 3D
rendering engine, and a logical separation between z-order for
sorting/layering and z-coordinates.

Ben Root
------------------------------------------------------------------------------
Benefiting from Server Virtualization: Beyond Initial Workload 
Consolidation -- Increasing the use of server virtualization is a top
priority.Virtualization can reduce costs, simplify management, and improve 
application availability and disaster protection. Learn more about boosting 
the value of server virtualization. http://p.sf.net/sfu/vmware-sfdev2dev
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Reply via email to