Files
RayTracer/src/util/Model.h
T

24 lines
471 B
C++
Raw Normal View History

2025-01-23 15:55:24 +01:00
#pragma once
#include "Minimal.h"
#include "Material.h"
2025-01-23 17:19:53 +01:00
#include "scene/AABB.h"
2025-01-24 21:54:46 +01:00
#include <optional>
2025-01-25 18:05:47 +01:00
#include <vector>
2025-01-23 15:55:24 +01:00
2025-01-24 18:21:34 +01:00
struct IntersectionInfo
{
HitInfo hitInfo;
MaterialInfo shadingInfo;
2025-01-24 18:21:34 +01:00
};
2025-01-23 15:55:24 +01:00
class Model
{
2025-01-23 16:10:28 +01:00
public:
2025-01-25 18:05:47 +01:00
AABB boundingBox;
std::vector<glm::vec3> positions;
2025-01-25 19:20:12 +01:00
std::vector<glm::vec2> texCoords;
2025-01-25 19:14:22 +01:00
std::vector<glm::uvec3> indices;
2025-01-25 18:45:02 +01:00
std::vector<glm::vec3> edges;
2025-01-25 18:05:47 +01:00
std::vector<glm::vec3> faceNormals;
void transform(glm::mat4 matrix);
2025-01-23 15:55:24 +01:00
};
DECLARE_REF(Model)