Dandelion 1.1.1
A light-weight 3D builder for educational usage
|
提供生成射线、判定相交的工具函数。 更多...
#include <cstddef>
#include <optional>
#include <Eigen/Core>
#include "../platform/gl.hpp"
#include "../scene/camera.h"
类 | |
struct | Ray |
struct | Intersection |
表示射线与 Mesh 相交结果的结构体。 更多... | |
函数 | |
Ray | generate_ray (int width, int height, int x, int y, Camera &camera, float depth) |
给定成像平面的宽度和高度、成像平面上的坐标、成像平面的深度和相机,生成一条射线。 | |
std::optional< Intersection > | ray_triangle_intersect (const Ray &ray, const GL::Mesh &mesh, size_t index) |
判断光线ray是否与某个面片相交 | |
std::optional< Intersection > | naive_intersect (const Ray &ray, const GL::Mesh &mesh, const Eigen::Matrix4f model) |
用朴素方法判断射线是否与给定的 mesh 相交。 | |
提供生成射线、判定相交的工具函数。