trait TransferSingleBounce extends Transfer
An specialization of the Transfer class which indicates that transfer matrices have been calculated without the assumption that scene illumination is identical for all points in space (when no geometry is present).
Said assumption is mandatory when a set of transfer matrices models reflections. However, it is not necessary when they model occlusion only.
Dropping this assumption enables the correct simulation of point like light sources under the assumption that they are positioned outside the convex hull of the rendered geometry.
- Alphabetic
- By Inheritance
- TransferSingleBounce
- Transfer
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
- type TIncidentLight = SurfacePointProperty[DenseVector[Double]]
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
apply(light: DenseVector[Double]): SurfacePointProperty[DenseVector[Double]]
Maps the SH-expansion of the scene's illumination to an individual, local light distribution for each vertex.
Maps the SH-expansion of the scene's illumination to an individual, local light distribution for each vertex.
Equivalent to transferLight.
- light
The SH-representation of the unaffected illumination.
- Definition Classes
- Transfer
-
def
apply(triangleId: TriangleId, bcc: BarycentricCoordinates): DenseMatrix[Double]
Returns the transfer matrix for a point on the mesh's surface.
Returns the transfer matrix for a point on the mesh's surface.
- triangleId
The id of the triangle that contains the point of interest.
- bcc
The barycentric coordinates of the point of interest w.r.t. triangleId.
- returns
The interpolated transfer matrix for the specified surface point.
- Definition Classes
- Transfer
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
val
shBandsIn: Int
- Definition Classes
- Transfer
-
val
shBandsOut: Int
- Definition Classes
- Transfer
-
val
shComponentsIn: Int
- Definition Classes
- Transfer
-
val
shComponentsOut: Int
- Definition Classes
- Transfer
-
val
surfacePointProperty: SurfacePointProperty[DenseMatrix[Double]]
- Definition Classes
- Transfer
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
def
transferLight(light: DenseVector[Double]): SurfacePointProperty[DenseVector[Double]]
Maps the SH-expansion of the scene's illumination to an individual, local light distribution for each vertex.
Maps the SH-expansion of the scene's illumination to an individual, local light distribution for each vertex.
The light is assumed to be constant for each point in space (disregarding the influence of the rendered geometry), i.e. the light sources are assumed to be infinitely far away.
In order to use point light sources that are in close proximity to the rendered geometry, please use the TransferSingleBounce class instead.
- light
The SH-representation of the unaffected scene illumination in object space.
- Definition Classes
- Transfer
-
def
transferLocalLight(light: SurfacePointProperty[DenseVector[Double]]): TIncidentLight
A version of the transferLight() function of the Transfer class.
A version of the transferLight() function of the Transfer class. This method accepts individual light distributions for each vertex via a SurfacePointProperty. This enables the use of Point lights for scene illumination.
- light
The SH-representations of unblocked scene light at the positions of all vertices.
- returns
A SurfacePointProperty representing a local light distribution for each vertex.
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )