de.grogra.gpuflux.tracer
Class FluxTracer

java.lang.Object
  extended by de.grogra.gpuflux.tracer.FluxTracer
All Implemented Interfaces:
ProgressMonitor
Direct Known Subclasses:
FluxLightTracer, FluxPathTracer, FluxWhittedTracer

public abstract class FluxTracer
extends java.lang.Object
implements ProgressMonitor


Nested Class Summary
protected  class FluxTracer.MsgBox
           
 
Field Summary
static double BATCH_BALANCE_SMOOTH
           
static boolean BATCH_LOGGING_ENABLED
           
protected static float DEFAULT_MIN_POWER
           
static int DEFAULT_PREFERRED_DURATION
           
protected static int DEFAULT_TRACE_DEPTH
           
protected  int height
           
protected  java.awt.image.BufferedImage image
           
static int INITIAL_SAMPLE_COUNT
           
static int INITIAL_SPECTRAL_RESOLUTION
           
static int MAXIMUM_SAMPLE_COUNT
           
protected  java.util.ArrayList<java.awt.image.ImageObserver> observers
           
protected  Options options
           
protected  boolean useBih
           
protected  View view
           
protected  int width
           
 
Fields inherited from interface de.grogra.ray2.ProgressMonitor
DONE_PROGRESS, INDETERMINATE_PROGRESS
 
Constructor Summary
FluxTracer()
           
 
Method Summary
protected  void displayImage(Buffer imageBuffer, java.nio.ByteOrder byteOrder)
           
protected  void displayImage(java.nio.FloatBuffer hdrBuffer)
           
 void dispose()
           
protected  java.lang.String getKernelCompilationArguments(boolean spectral_enabled, boolean dispersion_enabled)
           
 void render(View view, int width, int height, java.util.ArrayList<java.awt.image.ImageObserver> obs, Options options)
           
 void setProgress(java.lang.String text, float progress)
          This method is invoked by the renderer to monitor its progress.
protected  void showImage(java.awt.image.BufferedImage image)
          displays the rendered image
 void showMessage(java.lang.String message)
          This method is invoked by the renderer to show a message, e.g., the statistics after rendering has completed.
protected static int toIntColor(float r, float g, float b, float a)
           
protected abstract  void trace()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

BATCH_BALANCE_SMOOTH

public static double BATCH_BALANCE_SMOOTH

BATCH_LOGGING_ENABLED

public static boolean BATCH_LOGGING_ENABLED

DEFAULT_MIN_POWER

protected static final float DEFAULT_MIN_POWER
See Also:
Constant Field Values

DEFAULT_PREFERRED_DURATION

public static final int DEFAULT_PREFERRED_DURATION
See Also:
Constant Field Values

DEFAULT_TRACE_DEPTH

protected static final int DEFAULT_TRACE_DEPTH
See Also:
Constant Field Values

height

protected int height

image

protected java.awt.image.BufferedImage image

INITIAL_SAMPLE_COUNT

public static final int INITIAL_SAMPLE_COUNT
See Also:
Constant Field Values

INITIAL_SPECTRAL_RESOLUTION

public static final int INITIAL_SPECTRAL_RESOLUTION
See Also:
Constant Field Values

MAXIMUM_SAMPLE_COUNT

public static final int MAXIMUM_SAMPLE_COUNT
See Also:
Constant Field Values

observers

protected java.util.ArrayList<java.awt.image.ImageObserver> observers

options

protected Options options

useBih

protected boolean useBih

view

protected View view

width

protected int width
Constructor Detail

FluxTracer

public FluxTracer()
Method Detail

displayImage

protected void displayImage(Buffer imageBuffer,
                            java.nio.ByteOrder byteOrder)

displayImage

protected void displayImage(java.nio.FloatBuffer hdrBuffer)

dispose

public void dispose()

getKernelCompilationArguments

protected java.lang.String getKernelCompilationArguments(boolean spectral_enabled,
                                                         boolean dispersion_enabled)

render

public void render(View view,
                   int width,
                   int height,
                   java.util.ArrayList<java.awt.image.ImageObserver> obs,
                   Options options)
            throws java.io.IOException
Throws:
java.io.IOException

setProgress

public void setProgress(java.lang.String text,
                        float progress)
Description copied from interface: ProgressMonitor
This method is invoked by the renderer to monitor its progress.

Specified by:
setProgress in interface ProgressMonitor
Parameters:
text - short text to display
progress - state of progress from 0 to 1, or one of the constants ProgressMonitor.INDETERMINATE_PROGRESS, ProgressMonitor.DONE_PROGRESS

showImage

protected void showImage(java.awt.image.BufferedImage image)
displays the rendered image

Parameters:
image -

showMessage

public void showMessage(java.lang.String message)
Description copied from interface: ProgressMonitor
This method is invoked by the renderer to show a message, e.g., the statistics after rendering has completed.

Specified by:
showMessage in interface ProgressMonitor
Parameters:
message - message to display

toIntColor

protected static int toIntColor(float r,
                                float g,
                                float b,
                                float a)

trace

protected abstract void trace()
                       throws java.io.IOException
Throws:
java.io.IOException