问题标签 [pbrt]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
graphics - 如何查看 .PBRT 文件的图像
我是使用 PBRT(基于物理的光线追踪)的新手。如何查看.pbrt
文件的图像。
我已经从命令提示符完成了以下步骤:
c++ - Kdtree 查找:PBRT 源代码
我正在尝试使用 pbrt 源代码来实现 kdtree 以查找n
最近的点。我有一个分布在 3d 空间上的点数组,我需要计算距参考点给定距离内的点数。那么有人可以指导我如何进行吗?基本上,我使用的是与 integrators/photonmap.cpp 中提到的相同的查找过程 (PhotonProcess)。但不知何故,我最终得到了奇怪的结果。这是我正在使用的代码的一小部分。
我没有得到 searchdist 的预期值。欢迎任何提示想法或建议。
raytracing - 如何在包围体层次结构中进行排序和比较
我目前正在为 3D-Triangles 实施边界体积层次结构。可悲的是,所有对 BVH 的解释都未能体现在您对对象进行分类以进行拆分的部分。对于初学者,我想以平衡树为目标并使用中位数切割。这将要求我在当前节点的拆分轴上的空间标准之后对三角形或其边界框(AABB)进行排序。我真的不确定BB或三角形的最大或最小延伸是否足以进行适当的分离,因为某些三角形可能更大。我也不确定比较边界框还是三角形更好。
问题的第二部分是对每一步进行排序似乎很昂贵。计算机图形学中的其他算法使用预先排序的列表,然后根据拆分标准拆分这些列表。我看不出如何有效地比较三角形并确保它们属于一个列表。这是否意味着我必须每一步都对列表进行排序?
graphics - PBRT Spectrum toRGB 范围
出于学术目的,我已经调整了 PBRT,以便它写出有关交叉点的数据和一般路径相关数据(我使用了路径表面积分器)。
然而,在某个交点处获得光谱的 RGB 值存在一些困难。很明显,我必须ToRGB(float* rgb)
在交叉路口生成的 Spectrum 类上使用,但是之后观察到的数据有点奇怪。RGB 值位于 0-1 范围之间是有意义的。这种情况似乎经常发生,但有时我也会看到三胞胎,例如
经过仔细检查,我的大约 400.000 个交叉点的 RGB 最大值是 3.77 2.00 和 1.76。下限似乎是正确的,因为它们接近于零。所以问题是 PBRT 使用的范围是多少,以便我可以将其转换为 0.0 - 1.0。
谢谢
c++ - 构建 PBRT v2 错误 - 错误 1 错误 U1077:“如果”:返回代码“0x1”
我有 Visual Studio 2013 社区版,我得到了 pbrt-v2 代码库,并且一直在尝试构建解决方案,但这是我遇到的错误之一(它似乎与 nmake 相关):
我不确定该怎么做,因为其他说明似乎不太清楚。任何帮助将不胜感激!谢谢你,祝你有美好的一天!
- - - - - - - 更新 - - - - - - - - - -
我让它在 Visual Studio 2013 上编译和构建。问题是我认为我的 PBRT 文件已经过时。基本上我所做的是我通过 github 检查了该项目,我认为这应该可以工作,但后来我注意到您可以在网站上下载最新的 pbrt-v2 文件。事实上,作者有一个 VS studio 2015 的解决方案文件,我删除并重新安装了 2013,因为我认为这是问题所在。无论如何,使用我直接从网站下载的文件中的 2012 年,我能够构建解决方案。我会继续提出问题,以防万一有人遇到类似问题。
graphics - 旋转 pbrt 渲染的图像
我已经使用 pbrt 来渲染我的场景。我已经在场景文件中指定了视角,并在使用 pbrt 渲染它时,我从那个特定的视角看到了图像。我想知道是否有一种方法可以使用鼠标实时旋转 pbrt 渲染的场景
c++ - PBRT 到世界的转变
我习惯于使用nori 渲染引擎,并试图将一些代码转换为pbrt,以便我可以更轻松地创建具有分析球体的场景。我正在尝试从半球中采样一个矢量并将其转换为着色法线的坐标系,并且无法找出如何干净地执行此操作。我希望我的代码看起来像这样:
关于如何做到这一点的任何建议?
c++ - 在 ubuntu 17.10 上使用 make 的 PBRT v3 构建错误
我正在尝试构建在以下 repo 中找到的 PBRT v3:
https://github.com/mmp/pbrt-v3/tree/master
我严格按照 repo 中的说明来构建系统,但我遇到了一个我无法破译的错误。
我遵循的说明是:
1) 要检查 pbrt 以及所有依赖项,请务必在克隆存储库时使用 --recursive 标志,即
$ git clone --recursive https://github.com/mmp/pbrt-v3/
2) 对于 Linux 和 OS X 上的命令行构建,一旦安装了 cmake,为构建创建一个新目录,切换到该目录,然后运行 cmake [pbrt-v3 的路径]。将在该当前目录中创建一个 Makefile。运行 make -j8,构建 pbrt、obj2pbrt 和 imgtool 实用程序,以及运行 pbrt 的单元测试的可执行文件。
执行 make -j8 后,我在 90% 处收到以下错误:
这是命令的完整详细信息:
我尝试重新运行该命令,得到以下输出:
我正在添加 Cmake 的详细信息以显示显示的信息
我也使用 -fPIC 标志运行 cmake,但执行 make -j8 时结果相同
谁能让我知道我该如何解决这个问题?
问候。
windows - 在 Windows 上安装 pbrt-v3 的问题
我试图在我的笔记本电脑上安装 pbrt-v3,但没有成功。我将 README 命令与虚拟 ubuntu bash 一起使用。CMake et make 做得很好,但我不能用pbrt
它打开一个场景:
谢谢你的帮助。