VolumeJ
Class VJRender

java.lang.Object
  |
  +--java.lang.Thread
        |
        +--VolumeJ.VJRenderer
              |
              +--VolumeJ.VJRender
All Implemented Interfaces:
java.lang.Runnable

public class VJRender
extends VJRenderer

VJRender class. This subclass of VJRenderer implements the standard classical renderer, and implements polymorphic object-ordered volume rendering.
It implements Phong type gradient interpolation (i.e. the gradients are interpolated at the surface), which is superior over Gouraud shading and does'nt make much difference in speed. Note that the of shading can be anything including Phong shading. Copyright (c) 1999-2002, Michael Abramoff. All rights reserved.


Fields inherited from class VolumeJ.VJRenderer
classifier, COLORINT, cutout, depth, description, doDepthCueing, doPerspective, doPixeltracing, GRAYBYTE, height, interpolator, ioffset, joffset, koffset, m, message, mi, miLight, mLight, outputType, pixelms, pixels, running, sequenceNumber, shader, tracei, tracej, traceString, v, width
 
Fields inherited from class java.lang.Thread
inheritableThreadLocals, MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY, threadLocals
 
Constructor Summary
VJRender(VJInterpolator interpolator, VJShader shader, VJClassifier classifier)
          Create a new classic renderer with specified methods.
 
Method Summary
protected  void blendCompose(VJAlphaColor pixel, VJValue value, VJGradient g, VJAlphaColor color, VJShade shade)
          Compose the classified voxel color into pixel.
static java.lang.String desc()
           
 void run()
          Objectspace rendering method.
 
Methods inherited from class VolumeJ.VJRenderer
defaultViewport, getClassifier, getInterpolator, getPixels, getShader, getTimePerPixel, getTransformation, getViewport, getViewportHeight, getViewportWidth, getVolume, kill, minmax, newViewportBuffer, onTrace, setClassifier, setCutout, setDescription, setInterpolator, setMessage, setOutputColor, setOutputGrayscale, setPixel, setPixel, setSequenceNumber, setShader, setTransformation, setTransformation, setViewport, setVolume, trace, trace, traceWrite
 
Methods inherited from class java.lang.Thread
, activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getContextClassLoader, getName, getPriority, getThreadGroup, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setName, setPriority, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

VJRender

public VJRender(VJInterpolator interpolator,
                VJShader shader,
                VJClassifier classifier)
         throws java.lang.Exception
Create a new classic renderer with specified methods.
Parameters:
interpolator - the interpolator that will interpolate VJValues from the voluem to be rendered.
shader - the VJShader that will be used for shading.
classifier - the VJClassifier that will be used for classifying.
Throws:
java.lang.Exception - if parameters not properly defined.
Method Detail

run

public void run()
Objectspace rendering method. Renders v as an image. The type of image depends on the capabilities of the classifier , that is inherited from VJRenderer. This is a general renderer. It can process interpolated voxels of class VJValue, and these voxels are passed to a classifier and a composer. Of course, the VJInterpolator, the VJClassifier, the VJShader and the composer will need to be able to produce and process the needed type of VJValue. Voxels can be scalars or indexed scalars (implemented here). For more sophisticated voxels, such as vectors, including flow vectors this class can be subclassed as needed. Class variables are all inherited from VJRenderer
Overrides:
run in class VJRenderer

blendCompose

protected void blendCompose(VJAlphaColor pixel,
                            VJValue value,
                            VJGradient g,
                            VJAlphaColor color,
                            VJShade shade)
Compose the classified voxel color into pixel. Link to VJAlphaColor.blendComposeScalar() so that this method can be overloaded.
Parameters:
pixel - contains the current composite
value - contains the current voxel (needed by some subclasses).
gradient - the interpolated gradient for shading
color - contains the alpha value and color (grayscale or RGB) of the classified value.
shade - is the effect of shading.

desc

public static java.lang.String desc()