Photon Engine 2.0.0-beta
A physically based renderer.
Loading...
Searching...
No Matches
BruteForceIntersector.h
Go to the documentation of this file.
1#pragma once
2
4
5#include <vector>
6
7namespace ph
8{
9
11{
12public:
13 void update(TSpanView<const Intersectable*> intersectables) override;
14 bool isIntersecting(const Ray& ray, HitProbe& probe) const override;
15 bool isOccluding(const Ray& ray) const override;
16 math::AABB3D calcAABB() const override;
17
18private:
19 std::vector<const Intersectable*> m_intersectables;
20};
21
22}// end namespace ph
Definition BruteForceIntersector.h:11
bool isIntersecting(const Ray &ray, HitProbe &probe) const override
Determine whether a given ray hits the object.
Definition BruteForceIntersector.cpp:25
void update(TSpanView< const Intersectable * > intersectables) override
Definition BruteForceIntersector.cpp:14
bool isOccluding(const Ray &ray) const override
Determines whether this object blocks the ray.
Definition BruteForceIntersector.cpp:54
math::AABB3D calcAABB() const override
Calculates Axis-Aligned Bounding Box (AABB) of itself.
Definition BruteForceIntersector.cpp:67
Lightweight ray intersection testing and reporting object. If an intersection is found,...
Definition HitProbe.h:27
Definition Intersector.h:14
Represents a ray in space.
Definition Ray.h:21
The root for all renderer implementations.
Definition EEngineProject.h:6
std::span< const T, EXTENT > TSpanView
Same as TSpan, except that the objects are const-qualified. Note that for pointer types,...
Definition TSpan.h:19