HPC_Voxel_Engine 0.2.0
High-Performance C++ Voxel Engine
Loading...
Searching...
No Matches
Ray.h
Go to the documentation of this file.
1#pragma once
2#include "MathUtils.h"
3
4namespace Core {
5
11struct Ray {
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
Definition camera.h:6
Represents a ray in 3D space defined by an origin and a direction. Used for raycasting and picking.
Definition Ray.h:11
Vec3 at(float t) const noexcept
Calculates a point along the ray at distance t.
Definition Ray.h:27
Vec3 m_objDirection
Definition Ray.h:13
Ray(const Vec3 &orig, const Vec3 &dir)
Constructs a ray.
Definition Ray.h:20
Vec3 m_objPtOrigin
Definition Ray.h:12
A 3-component vector structure (x, y, z) with standard math operations.
Definition MathUtils.h:11