the maximum size that you see is probably
a function of the graphics card's texture
memory.
The only way around this problem is to
split the textures into manageable chunks.
Lak
On Wednesday 25 September 2002 03:19 am, Nicolas Ocquidant wrote:
> Hello,
>
> * Is it possible to share the same DataObject but have different
>
> cameras, color palette....
>
> I haven't seen such an example in the Example directory.
>
> * I have a strange behavior when I try to draw a simple 2D example,
>
> using java3d.TwoDDisplayRendererJ3D... When I specify a size
> greater
>
> than 500 * 500 (nx = 500, ny = 500), I only see a grey square. But
> for
>
> size < than 500 * 500, all works fine. I have no memory
> exception...
>
> Perhaps it is a system problem (Linux+ATI Radeon).
>
> Here is my code:
>
> ------------
>
> import visad.*;
> import visad.java3d.DisplayImplJ3D;
>
> import visad.java3d.TwoDDisplayRendererJ3D;
> import java.rmi.RemoteException;
> import javax.swing.*;
>
> public class Test2
> {
> private RealType row;
> private RealType col;
> private RealType pixel;
>
> private RealTupleType domainTuple;
>
> private FunctionType funcDomPix;
>
> private Set domainSet;
>
> private FlatField valsFF;
> private DataReferenceImpl dataRef;
>
> private DisplayImpl display;
>
> private ScalarMap rowMap;
> private ScalarMap colMap;
> private ScalarMap pixMap;
>
> public Test2()
> throws RemoteException, VisADException
> {
> row = new RealType("ROW");
> col = new RealType("COLUMN");
>
> domainTuple = new RealTupleType(row, col);
>
> pixel = new RealType("PIXEL");
>
> funcDomPix = new FunctionType(domainTuple, pixel);
>
> ////////////////////////////////////////////////
>
> // NX AND NY DECLARATION
>
> // NX < 500 && NY < 500 : OK
>
> // FOR GREATER VALUES, I ONLY SEE A GREY SQUARE???
>
> // ---------------------
>
> int ncols = 1000;
> int nrows = 1000;
>
> /////////////////////////////////////////////////
>
> domainSet = new Integer2DSet(domainTuple, nrows, ncols);
>
> float[][] flatSamples = new float[1][];
>
> flatSamples[0] = buildSamples(ncols, nrows); // just return a
> float array...
>
> valsFF = new FlatField(funcDomPix, domainSet);
> valsFF.setSamples(flatSamples);
>
> display = new DisplayImplJ3D("display1", new
> TwoDDisplayRendererJ3D());
>
> GraphicsModeControl gmc = (GraphicsModeControl)
> display.getGraphicsModeControl(); gmc.setScaleEnable(true);
>
> colMap = new ScalarMap(col, Display.XAxis);
> rowMap = new ScalarMap(row, Display.YAxis);
> colMap.getAxisScale().setScreenBased(true);
> rowMap.getAxisScale().setScreenBased(true);
>
> pixMap = new ScalarMap(pixel, Display.RGB);
>
> display.addMap(colMap);
> display.addMap(rowMap);
> display.addMap(pixMap);
>
> dataRef = new DataReferenceImpl("data_ref");
> dataRef.setData(valsFF);
>
> display.addReference(dataRef);
>
> JFrame frame = new JFrame("VisAD test");
> frame.getContentPane().add(display.getComponent());
>
> frame.setSize(640, 480);
> frame.setVisible(true);
> }
>
> ------------
>
> Thanks a lot.
>
> Nicolas