MobileRT
1.0
A multi platform C++ CPU progressive Ray Tracer.
|
#include <Intersection.hpp>
Public Member Functions | |
Intersection ()=delete | |
Intersection (Ray &&ray, float dist=RayLengthMax) | |
Intersection (Ray &&ray, const ::glm::vec3 &intPoint, float dist, const ::glm::vec3 &normal, const void *primitive, ::std::int32_t materialIndex, const ::glm::vec2 &texCoords=::glm::vec2 {-1}) | |
Intersection (const Intersection &intersection)=default | |
Intersection (Intersection &&intersection) noexcept=default | |
~Intersection ()=default | |
Intersection & | operator= (const Intersection &intersection)=delete |
Intersection & | operator= (Intersection &&intersection) noexcept=default |
Public Attributes | |
::glm::vec3 | point_ {0.0F, 0.0F, 0.0F} |
::glm::vec3 | normal_ {0.0F, 1.0F, 0.0F} |
Material * | material_ {nullptr} |
float | length_ {RayLengthMax} |
const void * | primitive_ {nullptr} |
::std::int32_t | materialIndex_ {-1} |
::glm::vec2 | texCoords_ {-1.0F, -1.0F} |
Ray | ray_ {::glm::vec3 {}, ::glm::vec3 {}, 0, false} |
Private Member Functions | |
void | checkArguments () const |
A class which represents an intersection of a ray with a primitive.
|
explicitdelete |
|
explicit |
|
explicit |
|
default |
|
defaultnoexcept |
|
default |
|
private |
Helper method which checks for invalid fields.
|
delete |
|
defaultnoexcept |
float MobileRT::Intersection::length_ {RayLengthMax} |
Material* MobileRT::Intersection::material_ {nullptr} |
::std::int32_t MobileRT::Intersection::materialIndex_ {-1} |
::glm::vec3 MobileRT::Intersection::normal_ {0.0F, 1.0F, 0.0F} |
::glm::vec3 MobileRT::Intersection::point_ {0.0F, 0.0F, 0.0F} |
const void* MobileRT::Intersection::primitive_ {nullptr} |
Ray MobileRT::Intersection::ray_ {::glm::vec3 {}, ::glm::vec3 {}, 0, false} |
The casted ray into the scene.
::glm::vec2 MobileRT::Intersection::texCoords_ {-1.0F, -1.0F} |