Files
RayTracer/src/util/Model.h
T
2025-01-24 21:54:46 +01:00

27 lines
466 B
C++

#pragma once
#include "Minimal.h"
#include "scene/AABB.h"
#include <vector>
#include <optional>
// material infos
// shading parameter
// hit data
struct IntersectionInfo
{
float t;
glm::vec3 position;
glm::vec3 normal;
glm::vec3 albedo;
glm::vec3 emissive;
//....
};
class Model
{
public:
AABB boundingBox;
std::vector<glm::vec3> positions;
std::vector<uint32_t> indices;
std::optional<IntersectionInfo> intersect(Ray ray);
};
DECLARE_REF(Model)