|
NTrace
GPU ray tracing framework
|
Ray buffer class. Stores rays. More...
#include <RayBuffer.hpp>
Public Member Functions | |
| RayBuffer (S32 n=0, bool closestHit=true) | |
| Constructor. More... | |
| S32 | getSize () const |
| Gets size of the buffer (number of rays). More... | |
| void | resize (S32 n) |
| Resizes the buffer. More... | |
| void | setRay (S32 slot, const Ray &ray) |
| Assigns ray to a slot. Id is same as slot. More... | |
| void | setRay (S32 slot, const Ray &ray, S32 id) |
| Assigns ray to a slot and to an id. More... | |
| void | setResult (S32 slot, const RayResult &r) |
| Assigns ray result to a slot. More... | |
| const Ray & | getRayForSlot (S32 slot) const |
| Gets a ray assigned to a given slot. More... | |
| const Ray & | getRayForID (S32 id) const |
| Gets a ray with a given id. More... | |
| const RayResult & | getResultForSlot (S32 slot) const |
| Gets a ray result assigned to a given slot. More... | |
| RayResult & | getMutableResultForSlot (S32 slot) |
| Gets a mutable ray assigned to a given slot. More... | |
| const RayResult & | getResultForID (S32 id) const |
| Gets a ray result with a given id. More... | |
| RayResult & | getMutableResultForID (S32 id) |
| Gets a mutable ray result with a given id. More... | |
| S32 | getSlotForID (S32 id) const |
| Gets a ray slot for a given id. More... | |
| S32 | getIDForSlot (S32 slot) const |
| Gets an id for a given ray slot. More... | |
| void | setNeedClosestHit (bool c) |
| Sets whether the closet hit is needed. More... | |
| bool | getNeedClosestHit () const |
| Returns whether the closest hit is needed. More... | |
| void | mortonSort () |
| Performs morton sort. More... | |
| void | randomSort (U32 randomSeed=0) |
| Shuffles rays in the buffer. More... | |
| Buffer & | getRayBuffer () |
| Gets ray buffer. More... | |
| Buffer & | getResultBuffer () |
| Gets ray result buffer. More... | |
| Buffer & | getIDToSlotBuffer () |
| Gets buffer mapping ids to slots. More... | |
| Buffer & | getSlotToIDBuffer () |
| Gets buffer slots to ids. More... | |
Ray buffer class. Stores rays.
Definition at line 38 of file RayBuffer.hpp.
|
inline |
Constructor.
| [in] | n | Size of the buffer (number of rays). |
| [in] | closestHit | Flag whether closest hit is required. |
Definition at line 46 of file RayBuffer.hpp.
Gets an id for a given ray slot.
| [in] | slot | Slot with the desired id. return Id of the given slot. |
Definition at line 138 of file RayBuffer.hpp.
|
inline |
Gets buffer mapping ids to slots.
Definition at line 179 of file RayBuffer.hpp.
Gets a mutable ray result with a given id.
| [in] | id | Id of the mutable ray result. |
Definition at line 124 of file RayBuffer.hpp.
Gets a mutable ray assigned to a given slot.
| [in] | slot | Slot where the mutable ray is saved. |
Definition at line 110 of file RayBuffer.hpp.
|
inline |
Returns whether the closest hit is needed.
Definition at line 150 of file RayBuffer.hpp.
|
inline |
Gets a ray with a given id.
| [in] | id | Id of the ray. |
Definition at line 96 of file RayBuffer.hpp.
Gets a ray assigned to a given slot.
| [in] | slot | Slot where the ray is saved. |
Definition at line 89 of file RayBuffer.hpp.
|
inline |
Gets a ray result with a given id.
| [in] | id | Id of the ray. |
Definition at line 117 of file RayBuffer.hpp.
Gets a ray result assigned to a given slot.
| [in] | slot | Slot where the ray result is saved. |
Definition at line 103 of file RayBuffer.hpp.
Gets size of the buffer (number of rays).
Definition at line 52 of file RayBuffer.hpp.
Gets a ray slot for a given id.
| id | Id of the slot. |
Definition at line 131 of file RayBuffer.hpp.
|
inline |
Gets buffer slots to ids.
Definition at line 185 of file RayBuffer.hpp.
| void FW::RayBuffer::mortonSort | ( | ) |
Performs morton sort.
Definition at line 103 of file RayBuffer.cpp.
Shuffles rays in the buffer.
| randomSeed | Random seed. |
Definition at line 66 of file RayBuffer.cpp.
Resizes the buffer.
| [in] | n | New size (number of rays). |
Definition at line 38 of file RayBuffer.cpp.
|
inline |
Sets whether the closet hit is needed.
| [in] | c | Closest hit flag. |
Definition at line 144 of file RayBuffer.hpp.
Assigns ray to a slot. Id is same as slot.
| [in] | slot | Slot for the ray. |
| [in] | ray | Ray to be assigned. |
Definition at line 65 of file RayBuffer.hpp.
Assigns ray to a slot and to an id.
| [in] | slot | Slot for the ray. |
| [in] | ray | Ray to be assigned. |
| [in] | id | Id of the ray. |
Definition at line 54 of file RayBuffer.cpp.
Assigns ray result to a slot.
| [in] | slot | Slot for the ray. |
| [in] | r | Ray result to be assigned. |
Definition at line 80 of file RayBuffer.hpp.