de.grogra.imp3d
Class Projection

java.lang.Object
  extended by de.grogra.persistence.ShareableBase
      extended by de.grogra.imp3d.Projection
All Implemented Interfaces:
Manageable, Shareable
Direct Known Subclasses:
ParallelProjection, PerspectiveProjection

public abstract class Projection
extends ShareableBase


Nested Class Summary
static class Projection.Type
           
 
Field Summary
static Projection.Type $TYPE
           
protected  float aspect
           
static SCOType.Field aspect$FIELD
           
protected  float sx
           
protected  float sy
           
 
Constructor Summary
Projection()
           
 
Method Summary
protected  double completeRay(Environment env, Point3d vertex, Ray out, Matrix4d viewToClip, Matrix4d deviceToView)
           
 float computeBSDF(Environment env, Spectrum specIn, Vector3f out, Spectrum bsdf)
           
 void generateRandomOrigins(Environment env, RayList out, java.util.Random rnd, Matrix4d deviceToView)
           
 void generateRandomRays(Environment env, Vector3f out, Spectrum specOut, RayList rays, java.util.Random rnd, Matrix4d deviceToView)
           
 float getAspect()
           
protected abstract  void getRayInViewCoordinates(float x, float y, Point3d origin, Vector3d direction, Matrix4d deviceToView, Tuple2d densities)
           
abstract  float getScaleAt(float z)
           
 float getScaleX()
           
 float getScaleY()
           
protected abstract  void getTransformation(float near, float far, Matrix4d viewToClip, Matrix4d deviceToView)
           
protected abstract  void update()
           
 
Methods inherited from class de.grogra.persistence.ShareableBase
addReference, appendReferencesTo, fieldModified, getProvider, getStamp, initProvider, manageableReadResolve, manageableWriteReplace, removeReference
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface de.grogra.persistence.Manageable
getManageableType
 

Field Detail

$TYPE

public static final Projection.Type $TYPE

aspect

protected float aspect

aspect$FIELD

public static final SCOType.Field aspect$FIELD

sx

protected transient float sx

sy

protected transient float sy
Constructor Detail

Projection

public Projection()
Method Detail

completeRay

protected double completeRay(Environment env,
                             Point3d vertex,
                             Ray out,
                             Matrix4d viewToClip,
                             Matrix4d deviceToView)

computeBSDF

public float computeBSDF(Environment env,
                         Spectrum specIn,
                         Vector3f out,
                         Spectrum bsdf)

generateRandomOrigins

public void generateRandomOrigins(Environment env,
                                  RayList out,
                                  java.util.Random rnd,
                                  Matrix4d deviceToView)

generateRandomRays

public void generateRandomRays(Environment env,
                               Vector3f out,
                               Spectrum specOut,
                               RayList rays,
                               java.util.Random rnd,
                               Matrix4d deviceToView)

getAspect

public float getAspect()

getRayInViewCoordinates

protected abstract void getRayInViewCoordinates(float x,
                                                float y,
                                                Point3d origin,
                                                Vector3d direction,
                                                Matrix4d deviceToView,
                                                Tuple2d densities)

getScaleAt

public abstract float getScaleAt(float z)

getScaleX

public float getScaleX()

getScaleY

public float getScaleY()

getTransformation

protected abstract void getTransformation(float near,
                                          float far,
                                          Matrix4d viewToClip,
                                          Matrix4d deviceToView)

update

protected abstract void update()