实现 Whitted-Style 光线追踪管线。
更多...
#include <render_engine.h>
|
float & | width |
|
float & | height |
|
int & | n_threads |
|
bool | use_bvh |
|
std::vector< unsigned char > & | rendering_res |
|
|
float | fresnel (const Eigen::Vector3f &I, const Eigen::Vector3f &N, const float &ior) |
| 菲涅尔方程根据观察角度计算反射光线的所占百分比
|
|
std::optional< std::tuple< Intersection, GL::Material > > | trace (const Ray &ray, const Scene &scene) |
|
Eigen::Vector3f | cast_ray (const Ray &ray, const Scene &scene, int depth) |
| 追踪指定光线得到颜色
|
|
|
std::shared_ptr< spdlog::logger > | logger |
|
◆ cast_ray()
Vector3f WhittedRenderer::cast_ray |
( |
const Ray & | ray, |
|
|
const Scene & | scene, |
|
|
int | depth ) |
|
private |
追踪指定光线得到颜色
- 参数
-
ray | 当前追踪的光线 |
scene | 当前渲染的场景 |
depth | 最大反射次数 |
◆ fresnel()
float WhittedRenderer::fresnel |
( |
const Eigen::Vector3f & | I, |
|
|
const Eigen::Vector3f & | N, |
|
|
const float & | ior ) |
|
private |
菲涅尔方程根据观察角度计算反射光线的所占百分比
- 参数
-
I | 入射光方向 |
N | 法线向量 |
ior | 当前反射介质的折射率 |
◆ render()
void WhittedRenderer::render |
( |
Scene & | scene | ) |
|
◆ mirror_threshold
float WhittedRenderer::mirror_threshold = 1000.0f |
|
staticconstexpr |
◆ use_bvh
bool WhittedRenderer::use_bvh |
该类的文档由以下文件生成: