@EqualityReference public final class KVisibleSet extends Object
An immutable visible set.
The KVisibleSet
type separates opaque and translucent objects
and batches them by lights and materials for rendering. A
visible set consists of:
Due to depth buffering, opaque objects may be rendered in any order without affecting the final image. Consequently, opaque shadow-casting objects may also be rendered in any order with respect to their lights. Translucent objects, however, must be rendered in a specific order (typically, objects furthest from the observer will be rendered prior to nearer objects).
The KVisibleSet
class preserves the order of insertion for
translucent objects, and delegates responsibility for doing spatial
partitioning and sorting objects by position to the creator of the set.
Modifier and Type | Method and Description |
---|---|
KCamera |
getCamera() |
KVisibleSetOpaques |
getOpaques() |
KVisibleSetShadows |
getShadows() |
KVisibleSetTranslucents |
getTranslucents() |
static KVisibleSetBuilderWithCreateType |
newBuilder(KCamera in_camera) |
public static KVisibleSetBuilderWithCreateType newBuilder(KCamera in_camera)
in_camera
- The camera for the visible setpublic KCamera getCamera()
public KVisibleSetOpaques getOpaques()
public KVisibleSetShadows getShadows()
public KVisibleSetTranslucents getTranslucents()
Copyright © 2015 <code@io7m.com> http://io7m.com