HPC_Voxel_Engine
0.2.0
High-Performance C++ Voxel Engine
Loading...
Searching...
No Matches
src
core
Ray.h
Go to the documentation of this file.
1
#pragma once
2
#include "
MathUtils.h
"
3
4
namespace
Core
{
5
11
struct
Ray
{
12
Vec3
m_objPtOrigin
;
13
Vec3
m_objDirection
;
14
20
Ray
(
const
Vec3
& orig,
const
Vec3
& dir) :
m_objPtOrigin
(orig),
m_objDirection
(dir.normalize()) {}
21
27
[[nodiscard]]
Vec3
at
(
float
t)
const
noexcept
{
return
m_objPtOrigin
+ (
m_objDirection
* t); }
28
};
29
}
// namespace Core
MathUtils.h
Core
Definition
camera.h:6
Core::Ray
Represents a ray in 3D space defined by an origin and a direction. Used for raycasting and picking.
Definition
Ray.h:11
Core::Ray::at
Vec3 at(float t) const noexcept
Calculates a point along the ray at distance t.
Definition
Ray.h:27
Core::Ray::m_objDirection
Vec3 m_objDirection
Definition
Ray.h:13
Core::Ray::Ray
Ray(const Vec3 &orig, const Vec3 &dir)
Constructs a ray.
Definition
Ray.h:20
Core::Ray::m_objPtOrigin
Vec3 m_objPtOrigin
Definition
Ray.h:12
Core::Vec3
A 3-component vector structure (x, y, z) with standard math operations.
Definition
MathUtils.h:11
Generated by
1.9.8