Re: Rendering an image


Bill Hibbard wrote:

I'm a little confused. Using ScreenLockedRendererJ3D will
fix the position of the image relative to the screen,
rather than the display axes. If your Data were a simple
geometry rather than an image, you could display it as a
Shape and use ConstantMaps to the XAxis, YAxis and ZAxis
will fix it relative to the axes.

Sorry for the confusion.  I'm doing what you say for
our color scales for which I generate the geometry.

I guess I was wondering if there was a way to take an
image and generate some sort of geometry from it that
i could then use in the manner you describe.

I think the only way to
fix an image relative to the axes is to use ScalarMapListeners
added to the spatial ScalarMaps, to listen for AUTO_SCALE
and MANUAAUTO_SCALEL ScalarMapEvents, and adjust the object
position and scale appropriately. Fortunately these events
do not generally vary frequently or continuously, so you
can probably just recompute a new domain Set for your
image FlatField. Each time you construct a new FlatField,
call its setSamples() method with copy = false so you can
reuse the same pixel array.

Okay, let's try this again.  I have an image.  If I read
it in as a FlatField, then I'd have something like
(Element, Line) -> (R, G, B).  What I don't want to do
is have to render it in the normal way (i.e, map element
and line to axes and r,g,b to their corresponding display
types), but rather was hoping that I could generate a
geometry, that I could then position in the display.

I figured eventually, VisAD must make some sort of geometry
out of the image to put it in the display based on the
scalarmaps.  I was just wondering if I could go from
image -> geometry and then use the ScreenLockedRenderer
to put it somewhere in the display.

Or, maybe I'm the one that's confused and am asking for
something that can't be done. ;-)

Don Murray                               UCAR Unidata Program
dmurray@xxxxxxxxxxxxxxxx                        P.O. Box 3000
(303) 497-8628                              Boulder, CO 80307
"There's someone in my head, but it's not me"    Roger Waters