Packages

o

faces.render.prt.render.shaders

UniversalSurfaceSpaceShader

object UniversalSurfaceSpaceShader

PRT shader for rendering geometry with arbitrary BRDFs in surface-local space.

The light-brdf convolution is performed in surface-local (i.e. tangent) space such that the SH expansion of the BRDF does not need to be rotated into object space.

Instead the light is rotated into tangent space by the transfer matrices. For more information please refer to ObjectToSurfaceSpaceTransfer.

This shader is typically used in combination with faces.render.prt.transfersimulation.UniversalPrtSimulator and faces.render.prt.parametricrendering.techniques.UniversalPrtTechnique.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. UniversalSurfaceSpaceShader
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. case class GlobalLightShader (transfer: GreyOrRGB[ObjectToSurfaceSpaceTransfer], light: GreyOrRGB[DenseVector[Double]], bsdf: GreyOrRGB[MeshSurfaceProperty[SHBrdf with CosineTerm]], objectSpaceViewDirections: SurfacePointProperty[Vector[_3D]], tangentSpace: SurfacePointProperty[DenseMatrix[Double]]) extends UniversalSurfaceSpaceTemplate with Product with Serializable
  2. case class LocalLightShader (transfer: GreyOrRGB[ObjectToSurfaceSpaceTransfer with TransferSingleBounce], localLight: GreyOrRGB[SurfacePointProperty[DenseVector[Double]]], bsdf: GreyOrRGB[MeshSurfaceProperty[SHBrdf with CosineTerm]], objectSpaceViewDirections: SurfacePointProperty[Vector[_3D]], tangentSpace: SurfacePointProperty[DenseMatrix[Double]]) extends UniversalSurfaceSpaceTemplate with Product with Serializable
  3. sealed abstract class UniversalSurfaceSpaceTemplate extends PixelShader[RGBA]

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def apply(transfer: GreyOrRGB[ObjectToSurfaceSpaceTransfer with TransferSingleBounce], localLight: GreyOrRGB[SurfacePointProperty[DenseVector[Double]]], brdf: GreyOrRGB[MeshSurfaceProperty[SHBrdf with CosineTerm]], objectSpaceViewDirections: SurfacePointProperty[Vector[_3D]], tangentSpace: SurfacePointProperty[DenseMatrix[Double]]): LocalLightShader

    Returns a pixel shader for PRT rendering using arbitrary BRDFs under scene illumination that can spatially vary (e.g.

    Returns a pixel shader for PRT rendering using arbitrary BRDFs under scene illumination that can spatially vary (e.g. due to point light sources in close proximity).

    transfer

    Precomputed transfer.

    localLight

    A SurfacePointProperty representing SH expansions of incoming light for each vertex of the rendered mesh.

    brdf

    A MeshSurfaceProperty representing the surface-local SH expansion of each surface point's local BRDF. The SH expansion of the BRDF must include the render equation's cosine term.

    objectSpaceViewDirections

    A SurfacePointProperty representing the directions of view to the vertices of the rendered mesh.

    tangentSpace

    Tangent space of a mesh (c.f. TangentSpace).

    returns

    An instance of PixelShader[RGBA].

  5. def apply(transfer: GreyOrRGB[ObjectToSurfaceSpaceTransfer], light: GreyOrRGB[DenseVector[Double]], brdf: GreyOrRGB[MeshSurfaceProperty[SHBrdf with CosineTerm]], objectSpaceViewDirections: SurfacePointProperty[Vector[_3D]], tangentSpace: SurfacePointProperty[DenseMatrix[Double]]): GlobalLightShader

    Returns a pixel shader for PRT rendering using arbitrary BRDFs under globally uniform illumination.

    Returns a pixel shader for PRT rendering using arbitrary BRDFs under globally uniform illumination.

    transfer

    Precomputed transfer.

    light

    SH expansion of light from an environment map.

    brdf

    A MeshSurfaceProperty representing the surface-local SH expansion of each surface point's local BRDF. The SH expansion of the BRDF must include the render equation's cosine term.

    objectSpaceViewDirections

    A SurfacePointProperty representing the directions of view to the vertices of the rendered mesh.

    tangentSpace

    Tangent space of a mesh (c.f. TangentSpace).

    returns

    An instance of PixelShader[RGBA].

  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  10. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  11. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  12. def hashCode(): Int
    Definition Classes
    AnyRef → Any
  13. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  14. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. final def notify(): Unit
    Definition Classes
    AnyRef
  16. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  17. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  18. def toString(): String
    Definition Classes
    AnyRef → Any
  19. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  20. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  21. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped