aboutsummaryrefslogtreecommitdiff
path: root/src/o3d/mesh.h
diff options
context:
space:
mode:
authorvimene <vincent.menegaux@gmail.com>2024-12-31 03:40:14 +0100
committervimene <vincent.menegaux@gmail.com>2024-12-31 03:40:14 +0100
commitcc6fb8c33637566a7b116d46440e6063f016deea (patch)
tree5cc83f84525507994add57df7dd974e6611d675a /src/o3d/mesh.h
parent6b765a85cf81bf4b7162e4c9280dd4054581c611 (diff)
downloadengine-cc6fb8c33637566a7b116d46440e6063f016deea.tar.gz
various improvements
- added quaternions and rewrote all rotations to use them - added transforms to put all object transforms in a single place - added Wavefront .obj file parser - removed frame buffer's abstract class - improved vectors, matrices, triangles, vertices and vertices data by putting all code in header file - added vector's operations - changed from NULL to nullptr - miscellaneous improvements
Diffstat (limited to 'src/o3d/mesh.h')
-rw-r--r--src/o3d/mesh.h19
1 files changed, 7 insertions, 12 deletions
diff --git a/src/o3d/mesh.h b/src/o3d/mesh.h
index 4aad0e4..1c70ca4 100644
--- a/src/o3d/mesh.h
+++ b/src/o3d/mesh.h
@@ -10,20 +10,15 @@
namespace engine::o3d {
-class Mesh {
- public:
-// static Mesh cube(); // this function should not be in this file
- static Mesh plane(); // this function should not be in this file
+using engine::math::Vector3, engine::math::Vector4;
- std::vector<engine::math::Vector4> vertices;
- std::vector<engine::math::Vector3> normals;
- std::vector<VertexData> vertices_data;
- std::vector<std::array<std::array<std::size_t, 3>, 3>> indices;
+struct Mesh {
+ static Mesh plane();
- Mesh(std::vector<engine::math::Vector4> vertices,
- std::vector<engine::math::Vector3> normals,
- std::vector<VertexData> vertices_data,
- std::vector<std::array<std::array<std::size_t, 3>, 3>> indices);
+ std::vector<Vector4> vertices;
+ std::vector<Vector3> normals;
+ std::vector<VertexData> vertices_data;
+ std::vector<std::array<std::array<std::size_t, 3>, 3>> indices;
};
}