org.sunflow.core.primitive
Class Sphere
java.lang.Objectorg.sunflow.core.primitive.Sphere
- PrimitiveList, RenderObject
public class Sphere
extends java.lang.Object
getBakingPrimitives
public PrimitiveList getBakingPrimitives()
Create a new
PrimitiveList object suitable for baking lightmaps.
This means a set of primitives laid out in the unit square UV space. This
method is optional, objects which do not support it should simply return
null.
- getBakingPrimitives in interface PrimitiveList
- a list of baking primitives
getNumPrimitives
public int getNumPrimitives()
Returns the number of individual primtives in this aggregate object.
- getNumPrimitives in interface PrimitiveList
getPrimitiveBound
public float getPrimitiveBound(int primID,
int i) Retrieve the bounding box component of a particular primitive in object
space. Even indexes get minimum values, while odd indexes get the maximum
values for each axis.
- getPrimitiveBound in interface PrimitiveList
primID - primitive indexi - bounding box side index
- value of the request bound
getWorldBounds
public BoundingBox getWorldBounds(Matrix4 o2w)
Compute a bounding box of this object in world space, using the specified
object-to-world transformation matrix. The bounds should be as exact as
possible, if they are difficult or expensive to compute exactly, you may
use
Matrix4.transform(BoundingBox). If the matrix is
null no transformation is needed, and object space is
equivalent to world space.
- getWorldBounds in interface PrimitiveList
o2w - object to world transformation matrix
- object bounding box in world space
intersectPrimitive
public void intersectPrimitive(Ray r,
int primID,
IntersectionState state) Intersect the specified primitive in local space.
- intersectPrimitive in interface PrimitiveList
r - ray in the object's local spaceprimID - primitive index to intersectstate - intersection state