The likely cause is a limitation in the OpenGL + your graphics card. On
my machine, a PC running Windows, there is an apparently limit of 1024
in either dimension of a texturemap -- if I exceed that limit, the
result is a gray rectangle. The only work-around I know of is to
resample your image to a lower resolution. This is currently the
singularly most inhibiting problem with displaying images that I'm aware
of. I believe the 'solution' should be a resampling "under the hood",
but apparently until Java3D is able to correctly determine the limit
imposed by the OpenGL + graphics card properly (and could/should
therefore automatically resample as needed) this is the only thing I
know to do.
(An example of this resampling can be found in the Jython code for
'graph.py' in the 'image()' method.)
I believe you could also use 2D for the display, but the performance is
pretty bad (at least on my PC).
tom
Helen Yi wrote:
Hi
I have two datasets, one is 350x700 another is 900x1500.
I use the alomost same VisAD code to display them in Lat-Lon 2D domain,
except the length of data samples is different,
display = new DisplayImplJ3D("display", new
TwoDDisplayRendererJ3D());
latMap = new ScalarMap(RealType.Latitude, Display.YAxis);
lonMap = new ScalarMap(RealType.Longitude, Display.XAxis);
display.addMap(latMap);
display.addMap(lonMap);
imageValue = RealType.getRealType("image");
rgbMap = new ScalarMap(imageValue, Display.RGB);
display.addMap(rgbMap);
imageRef = new DataReferenceImpl("image");
display.addReference(imageRef);
.........
I could get a color display for dataset with less data samples but a
grey display for the large dataset.
The interest thing is:
when I click on the display (since PointManipulationRendererJ3D has
been added to the above display), I could get the correct lat, lon and
data value at the point I have clicked.
Does anyone know why I end up with a grey display for the larger
dataset?
By the way, I am on SGI IRIX with
2 600 MHZ IP30 Processors
CPU: MIPS R14000 Processor Chip Revision: 2.4
FPU: MIPS R10010 Floating Point Chip Revision: 0.0
Main memory size: 1536 Mbytes
java version "1.3.1"
Java(TM) 2 Runtime Environment, Standard Edition (build
1.3.1-mtibuild-011130-22:40)
Classic VM (build 1.3.1-mtibuild-011130-22:40, native threads, mipsjit)
Java 3D 1.2.1 from SGI
Thanks for your great help.