|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface LightSource
This interface is used to represent any light emitting primitive. It permits efficient sampling of direct illumination and photon shooting.
Method Summary | |
---|---|
Instance |
createInstance()
Create an instance which represents the geometry of this light source. |
int |
getNumSamples()
Get the maximum number of samples that can be taken from this light source. |
void |
getPhoton(double randX1,
double randY1,
double randX2,
double randY2,
Point3 p,
Vector3 dir,
Color power)
Gets a photon to emit from this light source by setting each of the arguments. |
float |
getPower()
Get the total power emitted by this light source. |
void |
getSamples(ShadingState state)
Samples the light source to compute direct illumination. |
Methods inherited from interface org.sunflow.core.RenderObject |
---|
update |
Method Detail |
---|
int getNumSamples()
void getSamples(ShadingState state)
LightSample
class and added to the
current ShadingState
. This method is responsible for the
shooting of shadow rays which allows for non-physical lights that don't
cast shadows. It is recommended that only a single shadow ray be shot if
ShadingState.getDiffuseDepth()
is greater than 0. This avoids an
exponential number of shadow rays from being traced.
state
- current state, including point to be shadedLightSample
void getPhoton(double randX1, double randY1, double randX2, double randY2, Point3 p, Vector3 dir, Color power)
randX1
- sampling parameterrandY1
- sampling parameterrandX2
- sampling parameterrandY2
- sampling parameterp
- position to shoot the photon fromdir
- direction to shoot the photon inpower
- power of the photonfloat getPower()
Instance createInstance()
null
to
indicate that no geometry needs to be created.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |