Hi All,
(Last I read, Bill, you were out of office until 5/3/04, correct?)
Regarding my issues with VisAD/Java/Java3D and possible Alpha
interference using a filled Irregular2DSet (please see bottom of
message) - I think I may have finally isolated the culprit.
It appears that when Blackdown went from their java3D-1.2.1_03 to
java3d-1.3* is when the change in behavior occurs. With the old version
I got a clean transparent feature. When I upgraded to the newer java3d,
that same feature gave me the "interference" pattern you see in the
link(s) below. Unfortunately, every combination of java-1.4.2* and
anything newer than java3D-1.2.1_03 has given me this result. (On the
plus side, it blends overlapping - but different Z-depth - alpha objects
very well compared to the older version)
I have some relatively simple code (2 apps) which you can use to see the
difference in behavior. (I'll leave it up to the adventurous to do
their multiple Java* install if they want to test this.) Let me know
and I'll send the programs.
On a semi-related topic, while trying to compile the VisAD I downloaded
in Oct., 2003 with my new java-1.4.2_04, I received the following rmic
errors. (I have also recently had my OS upgraded from RedHat 9.0 to
RedHat Enterprise WorkStation 3.0) I'm going to poke around in the
libgcj on my new OS and see what gives. Any input would be greatly
appreciated!
#####################################################################
rmic -d
/home/kmanross/OldHomeDir/Programming/Java/NewerJavaSDK/Compiled/VisAD
visad.RemoteActionImpl
java.lang.NullPointerException
at 0xb7280cd0: java.lang.Throwable.Throwable() (/usr/lib/./libgcj.so.3)
at 0xb7273b9f: java.lang.Exception.Exception() (/usr/lib/./libgcj.so.3)
at 0xb7277457: java.lang.RuntimeException.RuntimeException()
(/usr/lib/./libgcj.so.3)
at 0xb7276b4f: java.lang.NullPointerException.NullPointerException()
(/usr/lib/./libgcj.so.3)
at 0xb72335b7: _Jv_ThrowNullPointerException (/usr/lib/./libgcj.so.3)
at 0xb7338251:
gnu.java.rmi.rmic.RMIC.sortExceptions(java.lang.Class[])
(/usr/lib/./libgcj.so.3)
at 0xb73344e7: gnu.java.rmi.rmic.RMIC.generateStub()
(/usr/lib/./libgcj.so.3)
at 0xb73335a9: gnu.java.rmi.rmic.RMIC.processClass(java.lang.String)
(/usr/lib/./libgcj.so.3)
at 0xb7333500: gnu.java.rmi.rmic.RMIC.run() (/usr/lib/./libgcj.so.3)
at 0xb73333c3: gnu.java.rmi.rmic.RMIC.main(java.lang.String[])
(/usr/lib/./libgcj.so.3)
at 0xb725ad68: gnu.gcj.runtime.FirstThread.call_main()
(/usr/lib/./libgcj.so.3)
at 0xb72c4ef1: gnu.gcj.runtime.FirstThread.run()
(/usr/lib/./libgcj.so.3)
at 0xb7267b4c: _Jv_ThreadRun(java.lang.Thread) (/usr/lib/./libgcj.so.3)
at 0xb723482c: _Jv_RunMain(java.lang.Class, byte const, int, byte
const, boolean) (/usr/lib/./libgcj.so.3)
at 0xb723494d: JvRunMain (/usr/lib/./libgcj.so.3)
at 0x080485c8: ?? (??:0)
at 0xb6ece748: __libc_start_main (/lib/tls/libc.so.6)
at 0x08048515: ?? (??:0)
#####################################################################
Thanks a bunch!
-kevin.
Bill Hibbard wrote:
Hi Kevin,
Since versions of both VisAD and Java3D change between your
two images, it would be useful to know what happens if you
combine the VisAD from the first (good) image with the Java
and Java3D from the second (bad) image. Is that bad (indicating
a Java3D problem) or good (indicating a VisAD problem). If
its a VisAD problem, then I'll probably need to run your
application myself. Hopefully you can send it to me.
It is worth saying that this is clearly an interference
pattern between two non-aligned grids. Two (not the only)
possible sources are:
1. Remap from one grid to another.
2. Two surfaces, one slightly behind the other, with Z-buffer
errors making this pattern.
Cheers,
Bill
On Fri, 20 Feb 2004, Kevin Manross wrote:
Yeah, at first, I also thought that it was an interference pattern, but
zooming in (up to the point they disappear from being zoomed too far), I
get this:
http://www.cimms.ou.edu/~kmanross/VCPRPE/VisADSamples/Alpha_Pattern_newJava_zoom.gif
For reference, this is roughly above the highest "peak" in the jagged
white line at the bottom of:
http://www.cimms.ou.edu/~kmanross/VCPRPE/VisADSamples/Alpha_Pattern_newJava.gif
It is where the first (bottom) purple wedge overlays the 2nd (from
bottom) yellow wedge.
Yes, the section of code that produces this plot are identical between
the two examples. The only difference is the java APIs.
Also, when testing this on different machines - notably with the newer
java(2/3) APIs - I get the same pattern.
--
+------------------------------------------------------------+
Kevin L. Manross [KD5MYD] <>< (405)-366-0557
CIMMS Research Associate kevin.manross@xxxxxxxx
[NSSL-WRDD/SWATN] http://www.cimms.ou.edu/~kmanross
"My opinions are my own and not representative of CIMMS, NSSL,
NOAA or any affiliates"
+------------------------------------------------------------+