de.grogra.imp3d.ray
Class RTSpotLight
java.lang.Object
de.grogra.imp3d.objects.SceneTree.Node
de.grogra.imp3d.objects.SceneTree.Leaf
de.grogra.imp3d.objects.SceneTreeWithShader.Leaf
de.grogra.imp3d.ray.RaytracerLeaf
de.grogra.imp3d.ray.RTSpotLight
- All Implemented Interfaces:
- RTLight, RTObject
public class RTSpotLight
- extends RaytracerLeaf
- implements RTLight
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.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 |
RTSpotLight
public RTSpotLight(java.lang.Object object,
boolean asNode,
long pathId,
Light light)
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