java.lang.Object
de.grogra.ray2.tracing.RadiationModel
de.grogra.ray2.tracing.LightModelProcessor
- All Implemented Interfaces:
Cloneable
Perform light model calculation for a single ray and collect
the energy that was absorbed by the volumes. Color computations
are performed with instances of Spectrum.
- Author:
- Reinhard Hemmerling
-
Nested Class Summary
Nested classes/interfaces inherited from class de.grogra.ray2.tracing.RadiationModel
RadiationModel.RayPoint
-
Constructor Summary
ConstructorDescriptionLightModelProcessor
(Scene scene, int[] idToGroup) Create a new light model processor that uses the given spectrum factory.LightModelProcessor
(Scene scene, ObjectList<Spectrum> radiantPowerSum, ObjectList<Spectrum> absorbedPowerSum, ObjectList<Spectrum> reflectedPowerSum, ObjectList<Spectrum> transmittedPowerSum, ObjectList<Spectrum> sensedIrridiancSum, int[] idToGroup, int bundleSize, ObjectList<ObjectList<RadiationModel.RayPoint>> rays, IntList hitCounterSum) Create a new light model processor that uses the given spectrum factory and adds collected radiation values to the lists. -
Method Summary
Modifier and TypeMethodDescriptionvoid
compute
(long rayCount, long seed, ProgressMonitor progress, int maxDepth, double minPower) int
protected void
Methods inherited from class de.grogra.ray2.tracing.RadiationModel
getAbsorbedPower, getAbsorbedPowerCollector, getAbsorbedPowerD, getHitCount, getHitCountD, getReceivedPower, getReceivedPowerD, getReflectedPower, getReflectedPowerD, getSensedIrradiance, getSensedIrradianceCollector, getSensedIrradianceD, getTracedRays, getTransmittedPower, getTransmittedPowerD
-
Constructor Details
-
LightModelProcessor
Create a new light model processor that uses the given spectrum factory.- Parameters:
scene
-
-
LightModelProcessor
public LightModelProcessor(Scene scene, ObjectList<Spectrum> radiantPowerSum, ObjectList<Spectrum> absorbedPowerSum, ObjectList<Spectrum> reflectedPowerSum, ObjectList<Spectrum> transmittedPowerSum, ObjectList<Spectrum> sensedIrridiancSum, int[] idToGroup, int bundleSize, ObjectList<ObjectList<RadiationModel.RayPoint>> rays, IntList hitCounterSum) Create a new light model processor that uses the given spectrum factory and adds collected radiation values to the lists.- Parameters:
scene
- a sceneradiantPowerSum
-absorbedPowerSum
-reflectedPowerSum
-transmittedPowerSum
-sensedIrradianceSum
-rays
- for debugging purposes, the traced rays will be added to the list. Use null if this is not needed
-
-
Method Details
-
initLocals
protected void initLocals() -
dup
-
compute
public void compute(long rayCount, long seed, ProgressMonitor progress, int maxDepth, double minPower) - Specified by:
compute
in classRadiationModel
-
getBundleSize
public int getBundleSize()
-