1#ifndef DANDELION_UTILS_BVH_H
2#define DANDELION_UTILS_BVH_H
8#include "../src/platform/gl.hpp"
47 Eigen::Vector3f centroid;
80 std::optional<Intersection>
BVH中的Aligned-axis bounding box
定义 aabb.h:22
std::vector< size_t > primitives
定义 bvh.h:100
BVHNode * root
定义 bvh.h:92
Eigen::Matrix4f model
定义 bvh.h:102
BVH(const GL::Mesh &mesh)
BVH加速结构的构造函数
定义 bvh.cpp:22
BVHNode * recursively_build(std::vector< size_t > faces_idx)
定义 bvh.cpp:62
void recursively_delete(BVHNode *node)
定义 bvh.cpp:42
std::optional< Intersection > intersect(const Ray &ray, const GL::Mesh &mesh, const Eigen::Matrix4f obj_model)
BVH加速求交的函数调用接口
定义 bvh.cpp:130
size_t count_nodes(BVHNode *node)
定义 bvh.cpp:53
const GL::Mesh & mesh
定义 bvh.h:98
void build()
定义 bvh.cpp:27
std::optional< Intersection > ray_node_intersect(BVHNode *node, const Ray &ray) const
获取BVH求交的结果
定义 bvh.cpp:145
表示的是BVH建立的树中的节点
定义 bvh.h:22
用于场景预览渲染的 Mesh 类。
定义 gl.hpp:268
用于在BVH划分左右子树时作为参与排序的节点
定义 bvh.h:43