NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
Hi Marius, We are all glad that you like VisAD. Your questions are excellent. Here is what I know about answers to them (but cavat emptor, I haven't written any code for 6 years): 1. a) Images are rendered via texture maps, and Java3D texture maps require values for each of red, green and blue (and alpha) at each pixel. 1. b) Java3D does not support hardware color tables. (I first wrote Vis5D on the Stellar GS 1000, which did support hardware color lookup tables, missed that capability in most later graphics hardware). 2. You should be able to do this via the setMatrix() method of the ProjectionControlJ3D you get from DisplayImplJ3D.getProjectionControl(). Of course, you've got to figure out how to set a user view point as a 4x4 matrix. Can any active VisAD programmers suggest tools to help define J3D matrices? 3. Applications would need to keep track of progress through a sequence of fetch, analyze and display data. It would be nice if the display "please wait" would give percent done, but sorry to say it doesn't. 4. a) Perhaps the Unidata folks can help with this (or perhaps Tom W)? 4. b) Jeff McWhirter recently created the CachedFlatField and related "Cache" classes, that I think are better than the olf FileFlatField. Hopefully he or someone can comment on these. Best regards, Bill Hibbard -----Original Message----- From: Marius Schmidt <mariuss@xxxxxxxxxxxxxxxxxxxxxxxxxx> To: visad@xxxxxxxxxxxxxxxx Sent: Wed, Jul 14, 2010 6:14 amSubject: [visad] HowTo Questions: gray scale, shader gray scale, viewers position, process monitor and netcdf access to large files
Hi again VisAD community, as my work progresses I fall more and more in love with the ease of useof 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 toreduce memory consumption and allow bigger datasets uploaded to GPU memory?
b) Before I started working with VisAD I experimented with some fragment
shader based application of lookup tables as explained in someliterature. I searched the library for the usage of Shader programms but
did not find any. Am I guessing right that color table is applied todata 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)? 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 ? 3. Process monitorSome calculations or data fetching processes in VisAD take longer than a
few seconds and I would like to display their progress using a processmonitor 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 visibleproject 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 andSet 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. Ifound 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 Best regards, Marius _______________________________________________ visad mailing list visad@xxxxxxxxxxxxxxxxFor list information, to unsubscribe, visit: http://www.unidata.ucar.edu/mailing_lists/
visad
archives: