README for copyengine

./copyengine [--3d] -size= -xsize=width -ysize=height -zsize=depth -tsize=timesteps -download=transfermode -readback=transfermode -file=volumedir

--3d : use 3d volume streaming, default is using 2d image streaming
-size=size : where size is used for width, height and depth instead of specifying them individually
-xsize=width : width of image or volume, Default for image=4096, volume=256
-ysize=height: height of image or volume, Default for image=2048, volume=256
-zsize=depth : only applicable to volumes, default to 512
-tsize=timesteps : number of timesteps, defaults to 5
-download=transfermode: default is using copy engines (=3)
-readback=transfermode: default is no readback (=0)
transfermode is one of
0 : No transfer
1 : Synchronous transfer
2 : CPU asynchronous transfer
3 : GPU asunchronous transfer using copy engines 
-file=filename : this is only for volumes for 2d case random images are generated, default is in ./data/volxxx.raw

PRESET USE CASES
1) 4K Video streaming and readback using copy engines
./copyengine -width=4096 -height=2048 -download=3 -readback=3
For the video streaming case, width and height are used for both the input texture and the readback image

2) 512^3 Volume Streaming with no readback 
./copyengine --3d -file="./data/vol" -width=512 -height=512 -depth=512 -download=3 -readback=0
For the volume streaming case, the readback image is set to 1920x1200.

NOTES
- TO FIX : When the app starts with copy engines the first few iterations may stall but then should flow smoothly
- In data.h, numDownloadBuffers must be less than no of timesteps
- the rendering time takes about 10ms for the 2d case (just drawing some arbitrary geometry)




