From b0dd97ee6bf8d5daa587da40ad941efac68152df Mon Sep 17 00:00:00 2001 From: brett weiland Date: Sat, 1 Jun 2024 01:36:18 -0500 Subject: got raycasting laid out --- src/entity.cuh | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/entity.cuh (limited to 'src/entity.cuh') diff --git a/src/entity.cuh b/src/entity.cuh new file mode 100644 index 0000000..b086644 --- /dev/null +++ b/src/entity.cuh @@ -0,0 +1,30 @@ +#ifndef ENTITY_H +#define ENTITY_H +#include "common.cuh" + +//we could make a template to allow double percision, but start with float +//idk how nessesary it is yet so I'll go ahead. +//I know I needed it for zoomin far into the mandelbrot ig, so it's not +//out of the question +class Entity { + public: + __device__ Entity() : pos_(make_vect3(0)), rot_(make_vect3(0)), scale_(make_vect3(0)) {}; + __device__ Entity(const vect3 pos, const vect3 rot, const vect3 scale) : pos_(pos), rot_(rot), scale_(scale) {}; + __device__ Entity(const float3 pos) : pos_(pos), rot_(make_vect3(0)), scale_(make_vect3(0)) {}; + + + vect3 get_pos() const { return pos_; } + vect3 get_rot() const { return rot_; } + vect3 get_scale() const { return scale_; } + + __device__ void set_pos(const vect3 pos) { pos_ = pos; } + __device__ void set_rot(const vect3 rot) { rot_ = rot; } + __device__ void set_scale(const vect3 scale) { scale_ = scale; } + + protected: + vect3 pos_; + vect3 rot_; + vect3 scale_; + +}; +#endif -- cgit v1.2.3