edu.utexas.cs.sdao.reyes.shading

SpotLight

case class SpotLight(origin: Vector3, direction: Vector3, hotspotAngle: Float, outerAngle: Float, shadowMapRes: Int = 512, supersampleShadowMap: Int = 2, attenuateConst: Float = 0.3, attenuateLin: Float = 0.6, attenuateQuad: Float = 0.1) extends ShadowMappedLight with Product with Serializable

Creates a spotlight with cone geometry, emanating from a point towards a specific direction, with a given hotspot angle and outer angle.

origin

the location of the spotlight, in world coordinates

direction

the direction that the light points in

hotspotAngle

the angle of the hotspot (inner cone), in radians, measured from the center of the hotspot to the edge of the hotspot cone; acceptable values are 0 < hotspotAngle < outerAngle

outerAngle

the angle of the outer cone, in radians, measured from the center of the hotspot to the edge of the outer cone; acceptable values are hotspotAngle < outerAngle < Pi/2

shadowMapRes

the length and width, in pixels, of the shadow map to generate

attenuateConst

the constant attenuation factor

attenuateLin

the linear attenuation factor

attenuateQuad

the quadratic attenuation factor

Linear Supertypes
Serializable, Serializable, Product, Equals, ShadowMappedLight, Light, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. SpotLight
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. ShadowMappedLight
  7. Light
  8. AnyRef
  9. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new SpotLight(origin: Vector3, direction: Vector3, hotspotAngle: Float, outerAngle: Float, shadowMapRes: Int = 512, supersampleShadowMap: Int = 2, attenuateConst: Float = 0.3, attenuateLin: Float = 0.6, attenuateQuad: Float = 0.1)

    origin

    the location of the spotlight, in world coordinates

    direction

    the direction that the light points in

    hotspotAngle

    the angle of the hotspot (inner cone), in radians, measured from the center of the hotspot to the edge of the hotspot cone; acceptable values are 0 < hotspotAngle < outerAngle

    outerAngle

    the angle of the outer cone, in radians, measured from the center of the hotspot to the edge of the outer cone; acceptable values are hotspotAngle < outerAngle < Pi/2

    shadowMapRes

    the length and width, in pixels, of the shadow map to generate

    attenuateConst

    the constant attenuation factor

    attenuateLin

    the linear attenuation factor

    attenuateQuad

    the quadratic attenuation factor

Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. def apply(pt: Vector3): Vector3

    Calculates the vector of the ray of light that reaches a point.

    Calculates the vector of the ray of light that reaches a point. The length of the vector is the intensity of the light. The direction of the vector is the direction from the light to the point.

    pt

    the point to illuminate

    returns

    the light ray

    Definition Classes
    SpotLightLight
  7. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  8. def attenuate(distance: Float): Float

    Helper function to calculate attenuation.

    Helper function to calculate attenuation.

    distance

    the distance to attenuate for

    returns

    the attenuation multiplier

    Attributes
    protected
    Definition Classes
    Light
  9. val attenuateConst: Float

    the constant attenuation factor

  10. val attenuateLin: Float

    the linear attenuation factor

  11. val attenuateQuad: Float

    the quadratic attenuation factor

  12. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  13. val direction: Vector3

    the direction that the light points in

  14. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  15. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  16. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  17. val hotspotAngle: Float

    the angle of the hotspot (inner cone), in radians, measured from the center of the hotspot to the edge of the hotspot cone; acceptable values are 0 < hotspotAngle < outerAngle

  18. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  19. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  20. val normalizedDirection: Vector3

  21. final def notify(): Unit

    Definition Classes
    AnyRef
  22. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  23. val origin: Vector3

    the location of the spotlight, in world coordinates

  24. val outerAngle: Float

    the angle of the outer cone, in radians, measured from the center of the hotspot to the edge of the outer cone; acceptable values are hotspotAngle < outerAngle < Pi/2

  25. def renderShadowMap(root: SurfaceNode): Unit

    Renders the shadow map for the given objects.

    Renders the shadow map for the given objects. Remove objects from the list of surfaces if you wish for them not to cast any shadows. If this function is never called before final rendering, no shadows will be generated for this light.

    root

    the root node of the hierarchy to render shadows for

    Definition Classes
    SpotLightShadowMappedLight
  26. val shadowMapRes: Int

    the length and width, in pixels, of the shadow map to generate

  27. val supersampleShadowMap: Int

  28. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  29. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  30. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  31. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from ShadowMappedLight

Inherited from Light

Inherited from AnyRef

Inherited from Any

Ungrouped