|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface Emitter
The Emitter
interface is the superinterface for
all entities which emit a quantity of light transport:
Light
sources emit
radiance, Sensor
s emit
importance. Both sources and sensors are located at the extremal
vertices of a complete light path, this interface provides the
common methods needed for Monte Carlo-based photon tracing.
Field Summary |
---|
Fields inherited from interface de.grogra.ray.physics.Scattering |
---|
DELTA_FACTOR, IS_NON_OPAQUE, MIN_UNUSED_FLAG, NEEDS_NORMAL, NEEDS_POINT, NEEDS_TANGENTS, NEEDS_TRANSFORMATION, NEEDS_UV, RANDOM_RAYS_GENERATE_ORIGINS |
Method Summary | |
---|---|
double |
completeRay(Environment env,
Point3d vertex,
Ray out)
|
double |
computeExitance(Environment env,
Spectrum exitance)
Evaluates the exitance function for given input. |
void |
generateRandomOrigins(Environment env,
RayList out,
java.util.Random random)
Pseudorandomly generates, for the given input, a set of origins for this emitter. |
Methods inherited from interface de.grogra.ray.physics.Scattering |
---|
computeBSDF, generateRandomRays, getAverageColor, getFlags |
Method Detail |
---|
double completeRay(Environment env, Point3d vertex, Ray out)
double computeExitance(Environment env, Spectrum exitance)
env.point
in case of light sources, or the
corresponding function W0j(x, ν) in case
of sensors.
The returned value
is the value of the probability density px
that would be calculated by generateRandomOrigins(de.grogra.ray.physics.Environment, de.grogra.ray.util.RayList, java.util.Random)
if
env.point
happened to be one of the randomly generated
origins.
env
- the environment for scatteringexitance
- the exitance values will be placed in here
void generateRandomOrigins(Environment env, RayList out, java.util.Random random)
At first, we consider the case where the emitter is in fact a light source. Let L(x, ω, ν) be the emitted spectral radiance for the frequency ν at the light's surface point x in direction ω. The radiant exitance (emitted spectral power per area) at x is defined as
rays.size
). Then
for a function f(x, ν) which is to be
integrated over the light surface, the sum
Now if the emitter is a sensor, let W(x, ω, ν) be the emitted spectral importance for frequency ν at the sensors's surface point x in direction ω. The quantities W0(x, ν) and W1(x, ω, ν) are defined similarly to the case of light sources:
Let px be the probability density used for the ray
origin, then the field originDensity
is set to px(oi) for each ray.
For emitters which are concentrated at a single point
(e.g., point lights) px is not
a regular function, the value originDensity
will
be set to a multiple of Scattering.DELTA_FACTOR
.
The ray properties which are not mentioned in the given formulas are neither used nor modified. These are the direction and its density.
env
- the environmentout
- the outgoing rays to be generatedrandom
- pseudorandom generator
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |