确定 3D 点是否在 2D 圆内
我希望确定点 P(x,y,z) 是否位于 3D 空间中的 2D 圆内,该圆由其中心 C (cx, cy, cz)、半径 R 以及圆位于 N 上的平面的法线定义。 我知道位于 3D 空间…
使用矩阵变换进行场景遍历期间的射线盒相交
我可以通过以下几种方法来测试光线盒相交: 使用 ComputeIntersectionBox(...) 方法,该方法将光线和盒子作为参数,并计算光线和盒子的最近交点。该方…
OpenGL 渲染与自己的 Phong 照明实现
我使用以 (0,0,0) 为中心并直接观察球体基元的相机实现了 Phong 照明方案。以下是场景文件的相关内容,用于使用 OpenGL 查看场景以及使用我自己的实现…
使用 opencl 解决经典的 Map-Reduce 问题?
我正在尝试将经典的映射归约问题(可以与 MPI 很好地并行)与 OpenCL(即 AMD 实现)并行。但结果让我很困扰。 我先简单介绍一下问题。有两种类型的数…
什么会导致 Phong 镜面反射着色产生色域溢出?
我目前正在用 C++ 实现一个基本的光线追踪器。到目前为止效果很好,哑光材质(具有环境和漫反射 brdf)到目前为止按预期工作。 添加镜面高光将产生完…
关于向量、顶点、边、射线、直线和向量的实现的非常普遍的问题线段
这只是一个关于光线(和/或线段或边缘等)及其在执行/不执行光线跟踪操作的软件渲染 3D 引擎中的位置的大一般性问题。我正在学习基础知识,我是第一个…
POVray:如何可靠地创建仅接触表面的对象的良好合并?
我正在做的事情是, 我有一个场景,通过算法绘制一个具有六边形横截面的棱镜和围绕中心棱镜的 n 层棱镜,以便所有棱镜一起形成更大的六边形形状。 现…
Unittest++:测试多个可能值
我目前正在用 C++ 实现一个简单的光线追踪器。我有一个名为 OrthonormalBasis 的类,它从一个或两个指定向量生成三个正交单位向量,例如: void Ortho…
通过旋转 2D 轮廓创建和渲染 3D 模型的最简单方法
我有一个黑白 2D 轮廓图(例如,一个国际象棋棋子),我想围绕一个轴旋转它以创建一个 3D 对象。 然后我想使用某种光线跟踪软件从多个角度渲染该 3D …