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