edu.utexas.cs.sdao.reyes.render

SupersamplingCamera

class SupersamplingCamera extends Camera

A camera that supersamples when rendering the final image. Up to the split stage, the camera acts like a normal camera. After the split stage, the number of pixels sampled is augmented by the supersampling factor.

Linear Supertypes
Camera, Projection, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. SupersamplingCamera
  2. Camera
  3. Projection
  4. AnyRef
  5. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new SupersamplingCamera(cameraTransform: Matrix4 = ..., fieldOfView: Float = ..., logicalWidth: Int = 800, logicalHeight: Int = 600, supersample: Int = 2)

    cameraTransform

    a transformation matrix that represents how the camera has been transformed in the world space

    fieldOfView

    the camera's horizontal field of view in radians, measured as the angle from the left of the visible screen to the right; acceptable values are 0 < fieldOfView < Pi

    logicalWidth

    the width of the output image plane

    logicalHeight

    the height of the output image plane

    supersample

    the supersampling factor, in each direction

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. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. def containsScreenBoundingBox(boundingBox: BoundingBox): Boolean

    Determines if a certain screen-space bounding box is contained within the camera's view frustum, at least partially.

    Determines if a certain screen-space bounding box is contained within the camera's view frustum, at least partially. The bounding box's x- and y-components should be in screen space, whereas the z-component should be the z-depth of the box. This will also cull objects behind the camera (positive z-depth).

    boundingBox

    the bounding box to check

    returns

    the visibility of the bounding box

    Definition Classes
    Projection
  9. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  10. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  11. def estimateZBufferOcclusion(boundingBox: BoundingBox, zBuffer: ZBuffer): Boolean

    Estimates whether the z-buffer occludes a projected bounding box.

    Estimates whether the z-buffer occludes a projected bounding box. The projected bounding box's x- and y-components should be in screen space, whereas the z-component should be in scene world space.

    Note: the supersampling camera will multiply the bounding box x- and y-coordinates (but not the z-depth) by the supersampling factor.

    boundingBox

    the bounding box to check

    zBuffer

    the z-buffer to check

    returns

    whether the bounding box is occluded

    Definition Classes
    SupersamplingCameraCamera
  12. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  13. val focalLength: Float

    The length from the camera pinhole to the image plane.

    The length from the camera pinhole to the image plane.

    Definition Classes
    Projection
  14. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  15. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  16. final def isInstanceOf[T0]: Boolean

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

    Definition Classes
    AnyRef
  18. final def notify(): Unit

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

    Definition Classes
    AnyRef
  20. def outputDimensions: (Int, Int)

    The dimensions, in pixel width and height, of the image returned by the rendering functions.

    The dimensions, in pixel width and height, of the image returned by the rendering functions. If the images returned by the rendering function are larger; they will be downscaled. By default, this is simply the camera's width and height. Subclasses can override this function to downsample rendered images.

    returns

    the preferred image dimensions

    Definition Classes
    SupersamplingCameraCamera
  21. def projectToScreen(u: Vector3): Vector3

    Transforms a point from world space into camera space, and then projects it into the screen space defined by u=0.

    Transforms a point from world space into camera space, and then projects it into the screen space defined by u=0..width and v=0..height, with the origin at the lower-left corner of the screen. The z-component is the z-depth of the point.

    To transform without projecting, use transformToCamera instead.

    u

    the vector to project

    returns

    the projected vector

    Definition Classes
    Projection
  22. def render(sceneRoot: SurfaceNode, displaceOnly: Boolean = false, reportFunc: (Texture) ⇒ Unit = _ => {}): (Texture, ZBuffer)

    Renders all of the surfaces in a list.

    Renders all of the surfaces in a list. This function will split, dice, shade, and rasterize the split surfaces using the given camera.

    sceneRoot

    the root node of the scene graph

    displaceOnly

    whether to only run displacement shaders in the shading step without running any color shaders

    reportFunc

    a function to run each time a portion of the image is done rendering

    returns

    the resultant rendered texture and z-buffer

    Definition Classes
    Camera
  23. def split(surfaces: Iterable[Surface]): Vector[PipelineInfo]

    Splits primitive surfaces into smaller subsurfaces until they clear the size threshold when projected.

    Splits primitive surfaces into smaller subsurfaces until they clear the size threshold when projected.

    The result is that objects that are closer to the camera will be split into more partitions.

    Note: the splitting stage is performed on the normal-scale proxy camera.

    surfaces

    the surfaces to split

    returns

    a list containing the split surfaces, prepared for the dicing step and sorted by increasing z-depth

    Definition Classes
    SupersamplingCameraCamera
  24. def split(sceneRoot: SurfaceNode): Vector[PipelineInfo]

    Splits primitive surfaces into smaller subsurfaces until they clear the size threshold when projected.

    Splits primitive surfaces into smaller subsurfaces until they clear the size threshold when projected. The result is that objects that are closer to the camera will be split into more partitions.

    sceneRoot

    the root node of the scene graph

    returns

    a list containing the split surfaces, prepared for the dicing step and sorted by increasing z-depth

    Definition Classes
    Camera
  25. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  26. def toCamera: Camera

    Creates a camera from this projection.

    Creates a camera from this projection.

    returns

    the new camera

    Definition Classes
    SupersamplingCameraProjection
  27. def toString(): String

    Definition Classes
    AnyRef → Any
  28. def transformToCamera(u: Vector3): Vector3

    Transforms a point from world space into camera space.

    Transforms a point from world space into camera space. However, the function does not then transform the point into the 2D screen space; the resultant coordinate is still in a 3D space.

    To also project the point into screen space, use projectToScreen instead.

    u

    the world space point to transform

    returns

    the transformed vector in camera space

    Definition Classes
    Projection
  29. def transformToCameraNorm(u: Vector3): Vector3

    Like transformToCamera, but normalizes the resulting vector.

    Like transformToCamera, but normalizes the resulting vector. This is useful for obtaining the vector from the focal point to the given point.

    u

    the world space point to transform

    returns

    the transformed and normalized vector in camera space

    Definition Classes
    Projection
  30. def transformToWorld(u: Vector3): Vector3

    Transforms a point from camera space back into world space.

    Transforms a point from camera space back into world space.

    u

    the camera space point to transform

    returns

    the transformed vector in world space

    Definition Classes
    Projection
  31. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  34. val worldToCamera: Matrix4

    The transformation matrix that converts world to camera coordinates.

    The transformation matrix that converts world to camera coordinates. This is the same as the inverse of the cameraTransform parameter.

    Definition Classes
    Projection

Inherited from Camera

Inherited from Projection

Inherited from AnyRef

Inherited from Any

Ungrouped