de.grogra.imp3d.ray
Class RTSpotLight

java.lang.Object
  extended by de.grogra.imp3d.objects.SceneTree.Node
      extended by de.grogra.imp3d.objects.SceneTree.Leaf
          extended by de.grogra.imp3d.objects.SceneTreeWithShader.Leaf
              extended by de.grogra.imp3d.ray.RaytracerLeaf
                  extended by de.grogra.imp3d.ray.RTSpotLight
All Implemented Interfaces:
RTLight, RTObject

public class RTSpotLight
extends RaytracerLeaf
implements RTLight


Nested Class Summary
 
Nested classes/interfaces inherited from interface de.grogra.ray.RTObject
RTObject.RTObjectUserData
 
Field Summary
 
Fields inherited from class de.grogra.imp3d.objects.SceneTreeWithShader.Leaf
interior, shader
 
Fields inherited from class de.grogra.imp3d.objects.SceneTree.Leaf
asNode, object, pathId
 
Fields inherited from class de.grogra.imp3d.objects.SceneTree.Node
next
 
Constructor Summary
RTSpotLight(java.lang.Object object, boolean asNode, long pathId, Light light)
           
 
Method Summary
 float computeBSDF(ShadingEnvironment env, Vector3f in, Vector3f out, boolean adjoint, Color3f bsdf)
           
 void generateRandomOrigins(RayList out, int seed)
           
 void generateRandomRays(Vector3f vout, RayList out, boolean adjoint, int seed)
           
 BoundingVolume getBoundingVolume()
           
 float getDistance(Ray ray, RayContext context)
           
 Point3f getGlobalOrigin()
           
 void getIntersectionDescription(IntersectionDescription desc)
           
 int getLightRays(Ray view, IntersectionDescription desc, ShadowProcessor shadowModel, RayList rays)
           
 boolean isConvex()
           
 boolean isShadeable()
           
 boolean isShadowless()
           
 boolean isSolid()
           
 void setTransformation(Matrix4f mat)
           
 
Methods inherited from class de.grogra.imp3d.ray.RaytracerLeaf
getMedium, getRTMedium, getRTShader, getShader, getTransformation, getUserData, setMedium, setShader
 
Methods inherited from class de.grogra.imp3d.objects.SceneTreeWithShader.Leaf
setInterior
 
Methods inherited from class de.grogra.imp3d.objects.SceneTree.Leaf
accept, getBoolean, getByte, getChar, getDouble, getFloat, getInt, getLong, getObject, getObject, getShort, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface de.grogra.ray.RTObject
getMedium, getShader, getUserData
 

Constructor Detail

RTSpotLight

public RTSpotLight(java.lang.Object object,
                   boolean asNode,
                   long pathId,
                   Light light)
Method Detail

computeBSDF

public float computeBSDF(ShadingEnvironment env,
                         Vector3f in,
                         Vector3f out,
                         boolean adjoint,
                         Color3f bsdf)
Specified by:
computeBSDF in interface RTLight

generateRandomOrigins

public void generateRandomOrigins(RayList out,
                                  int seed)
Specified by:
generateRandomOrigins in interface RTLight

generateRandomRays

public void generateRandomRays(Vector3f vout,
                               RayList out,
                               boolean adjoint,
                               int seed)
Specified by:
generateRandomRays in interface RTLight

getBoundingVolume

public BoundingVolume getBoundingVolume()
Specified by:
getBoundingVolume in interface RTObject

getDistance

public float getDistance(Ray ray,
                         RayContext context)
Specified by:
getDistance in interface RTObject

getGlobalOrigin

public Point3f getGlobalOrigin()
Specified by:
getGlobalOrigin in interface RTLight

getIntersectionDescription

public void getIntersectionDescription(IntersectionDescription desc)
Specified by:
getIntersectionDescription in interface RTObject

getLightRays

public int getLightRays(Ray view,
                        IntersectionDescription desc,
                        ShadowProcessor shadowModel,
                        RayList rays)
Specified by:
getLightRays in interface RTLight

isConvex

public boolean isConvex()
Specified by:
isConvex in interface RTObject

isShadeable

public boolean isShadeable()
Specified by:
isShadeable in interface RTObject

isShadowless

public boolean isShadowless()
Specified by:
isShadowless in interface RTLight

isSolid

public boolean isSolid()
Specified by:
isSolid in interface RTObject

setTransformation

public void setTransformation(Matrix4f mat)
Overrides:
setTransformation in class RaytracerLeaf