Hi Marius,
Marius Schmidt wrote:
Hi again VisAD community,
as my work progresses I fall more and more in love with the ease of 
use of the VisAD library :-). But for today I do not only have laud 
but also a bunch of questions I hope you can help me with:
1. Gray Scale:
a) I have learned from the tutorial and documentation, that I have to 
create a custom lookup table to provide a gray scale mapping using 
Display.RGB(A). If I only map to gray in a 3D display I was wondering, 
if internally 24 (32) bit texture are used nevertheless? If yes, is it 
possible to enforce the use of an 8-bit luminance texture instead to 
reduce memory consumption and allow bigger datasets uploaded to GPU 
memory?
Yes, this is possible, we've done this with our new image renderer. It 
can be
forced on the command line, and hopefully we'll just detect from table when
it can be used. This is development code, so you won't have access to it
right away.
b) Before I started working with VisAD I experimented with some 
fragment shader based application of lookup tables as explained in 
some literature. I searched the library for the usage of Shader 
programms but did not find any. Am I guessing right that color table 
is applied to data before uploading it to the GPU? At which place 
might it be possible and a good idea to implement a shader based 
lookup table for real-time coloring of depictions (by only exchanging 
the lookup map stored as lookup texture in GPU memory and accessed by 
a fragment shader)?
Using byReference rendering, and a smart analysis of what work needs to be
done on a 'doTransform', we're getting pretty close to this kind of 
capability
while staying away from GPU specifics. I'm not sure how portable shader
programming is.
2. Viewers position:
I have not found a way yet to Setup the initial users view point 
viewing direction, I guess I overlooked something, can you help me out ?
I believe Transform3D in Java3D has methods which will help you.
3. Process monitor
Some calculations or data fetching processes in VisAD take longer than 
a few seconds and I would like to display their progress using a 
process monitor showing the user, that there is still something going 
on. I have seen, that as soon as the display is up and there are 
calculations going on a "please wait" message is being displayed. But 
that does not work for initial pre-displayed processes like fetching 
and analyzing data of a bigger Netcdf dataset. Is there a hook to ask 
Visad how many percent of a job is already processed ?
4. Netcdf
a) I have seen that there is Plain as a reader for NetCDF datasets. I 
transformed one of the dicom image sets available at the human visible 
project into netcdf format, but without attention to any convention 
like CF. Following the VerySimple and Simple example of the developers 
guide did not really worked for me, so I set the MathType, 
FunctionType and Set informations up manually and handed them over to 
a FlatField. Then I used Plain only to read the sample values from the 
netcdf file into the FlatField in reversed order. It works allright 
but I am wondering what to keep in mind, that the plain reader works 
innately. How do I have to prepare my NetCDF files, which conventions 
are known to Plain?
b) I shall try to visualize some of the measuring results of the 
Coltrims experiment (for your interest: 
http://hsb.uni-frankfurt.de/web/research/atomic/coltrims/). 
Unfortunately the data files come in chunks of more than 10 GB each. I 
found that there are classes called VirtualData, FileFlatField, etc. 
and hope, that my guess is right. Are they are somehow intended to be 
used for accessing datasets that do not fit into memory? How do I 
utilize them for fast retrieving of slices in dimension of 500MB? I do 
not have the heart yet trying to access one of those files, because I 
did have not really understood, how to use them, and I do not want to 
freeze my system instantly :-D
I'll try to get you some specifics on what was done with caching, our 
goal is to be
able to animate perhaps several hundred, roughly 1000x1000, satellite 
images. Of
course, caching saves memory, but is performance hit.
Tom