Package org.sunflow.core.accel
Class UniformGrid
- java.lang.Object
-
- org.sunflow.core.accel.UniformGrid
-
- All Implemented Interfaces:
AccelerationStructure
public final class UniformGrid extends java.lang.Object implements AccelerationStructure
-
-
Field Summary
Fields Modifier and Type Field Description private BoundingBox
bounds
private int[][]
cells
private float
invVoxelwx
private float
invVoxelwy
private float
invVoxelwz
private int
nx
private int
ny
private int
nz
private PrimitiveList
primitives
private float
voxelwx
private float
voxelwy
private float
voxelwz
-
Constructor Summary
Constructors Constructor Description UniformGrid()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
build(PrimitiveList primitives)
Construct an acceleration structure for the specified primitive list.private void
getGridIndex(float x, float y, float z, int[] i)
void
intersect(Ray r, IntersectionState state)
Intersect the specified ray with the geometry in local space.
-
-
-
Field Detail
-
nx
private int nx
-
ny
private int ny
-
nz
private int nz
-
primitives
private PrimitiveList primitives
-
bounds
private BoundingBox bounds
-
cells
private int[][] cells
-
voxelwx
private float voxelwx
-
voxelwy
private float voxelwy
-
voxelwz
private float voxelwz
-
invVoxelwx
private float invVoxelwx
-
invVoxelwy
private float invVoxelwy
-
invVoxelwz
private float invVoxelwz
-
-
Method Detail
-
build
public void build(PrimitiveList primitives)
Description copied from interface:AccelerationStructure
Construct an acceleration structure for the specified primitive list.- Specified by:
build
in interfaceAccelerationStructure
-
intersect
public void intersect(Ray r, IntersectionState state)
Description copied from interface:AccelerationStructure
Intersect the specified ray with the geometry in local space. The ray will be provided in local space.- Specified by:
intersect
in interfaceAccelerationStructure
- Parameters:
r
- ray in local spacestate
- state to store the intersection into
-
getGridIndex
private void getGridIndex(float x, float y, float z, int[] i)
-
-