问题标签 [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.

0 投票
0 回答
87 浏览

visual-studio-2015 - 构建成功后如何在我自己的项目中使用 pbrt-v3 内核和 Visual Studio?

我已经搭建了pbrt-v3,我想用于我自己的项目进行学习。但是当我添加添加包括 floder '**/core',并将'libpbrt.lib'添加到其他依赖项时。将'PBRT_CONSTEXPR'重新定义为下图时出现错误。在此处输入图像描述

如何解决这个问题呢?谢谢。

0 投票
1 回答
171 浏览

c++ - 使用模板有什么好处比动态分配?

我正在阅读 pbrt,它定义了一个类型:

并且作者说:

“我们没有编写系统,以便可以在运行时解决使用哪个 Spectrum 实现的选择;要切换到不同的表示,必须重新编译整个系统。这种设计的一个优点是,许多不同的 Spectrum方法可以实现为可以由编译器内联的短函数,而不是作为必须通过相对较慢的虚拟方法调用机制调用的独立函数。内联这些常用的短函数可以带来实质性的改进在性能上。”

1.为什么模板可以内联功能而普通方式不能?

2.为什么普通方式必须使用虚拟方式?

整个头文件的链接: https ://github.com/mmp/pbrt-v3/blob/master/src/core/spectrum.h