org.sunflow.core.display
Class FileDisplay
java.lang.Object
org.sunflow.core.display.FileDisplay
- Display
public class FileDisplay
extends java.lang.Object
void | imageBegin(int w, int h, int bucketSize) - This is called before an image is rendered to indicate how large the
rendered image will be.
|
void | imageEnd() - This call is made after the image has been rendered.
|
void | imageFill(int x, int y, int w, int h, Color c) - Update the current image with a region of flat color.
|
void | imagePrepare(int x, int y, int w, int h, int id) - Prepare the specified area to be rendered.
|
void | imageUpdate(int x, int y, int w, int h, Color[] data) - Update the current image with a bucket of data.
|
FileDisplay
public FileDisplay(String filename)
FileDisplay
public FileDisplay(boolean saveImage)
imageBegin
public void imageBegin(int w,
int h,
int bucketSize)
This is called before an image is rendered to indicate how large the
rendered image will be. This allows the display driver to write out image
headers or allocate surfaces. Bucket size will be 0 when called from a
non-bucket based source.
- imageBegin in interface Display
w
- width of the rendered image in pixelsh
- height of the rendered image in pixelsbucketSize
- size of the buckets in pixels
imageEnd
public void imageEnd()
This call is made after the image has been rendered. This allows the
display driver to close any open files, write the image to disk or flush
any other type of buffers.
- imageEnd in interface Display
imageFill
public void imageFill(int x,
int y,
int w,
int h,
Color c)
Update the current image with a region of flat color. This is used by
progressive rendering to render progressively smaller regions of the
screen which will overlap. The region is guarenteed to be within the
bounds created by the call to imageBegin. No clipping is necessary.
Colors are passed in unprocessed. It is up the display driver to do any
type of quantization , gamma compensation or tone-mapping needed.
- imageFill in interface Display
x
- x coordinate of the region within the imagey
- y coordinate of the region within the imagew
- with of the region in pixelsh
- height of the region in pixelsc
- color to fill the region with
imagePrepare
public void imagePrepare(int x,
int y,
int w,
int h,
int id)
Prepare the specified area to be rendered. This may be used to highlight
the work in progress area or simply to setup the display driver to
receive the specified portion of the image
- imagePrepare in interface Display
x
- x coordinate of the bucket within the imagey
- y coordinate of the bucket within the imagew
- width of the bucket in pixelsh
- height of the bucket in pixelsid
- unique identifier corresponding to the thread which invoked
this call
imageUpdate
public void imageUpdate(int x,
int y,
int w,
int h,
Color[] data)
Update the current image with a bucket of data. The region is guarenteed
to be within the bounds created by the call to imageBegin. No clipping is
necessary. Colors are passed in unprocessed. It is up the display driver
to do any type of quantization, gamma compensation or tone-mapping
needed. The array of colors will be exactly w * h
long and
in row major order.
- imageUpdate in interface Display
x
- x coordinate of the bucket within the imagey
- y coordinate of the bucket within the imagew
- width of the bucket in pixelsh
- height of the bucket in pixelsdata
- bucket data, this array will be exactly w * h
long