快速新手问题:如何阅读下面的代码块(它来自教科书基于物理的渲染第12.1节)?这是我以前从未见过的东西。它是Light类的三个不同函数的原型(即Light :: nSamples,Light :: LightToWorld和Light :: WorldToLight)?
(Light Interface) ≡ 606
Light(const Transform &l2w, int ns = 1)
: nSamples(max(1, ns)), LightToWorld(l2w),
WorldToLight(Inverse(l2w)) {
(Warn if light has transformation with scale)
}
答案 0 :(得分:1)
你有一堆与c ++语法混合的伪代码。
(Light Interface) ≡
这意味着什么,可能是评论。你甚至在那里有一些Unicode字符。
其余的看起来像是class Light
Light(const Transform &l2w, int ns = 1)
这是带有它的参数的构造函数,它有一个错误,因为它应该是Light::Light(const Transform &l2w, int ns = 1)
: nSamples(max(1, ns)), LightToWorld(l2w),
WorldToLight(Inverse(l2w))
这是成员变量和基类的实例化。
{
(Warn if light has transformation with scale)
}
这里将使用构造函数代码,而不是另一个奇怪的伪代码注释。
答案 1 :(得分:0)
你之前从未见过它是一个很好的理由。这是胡说八道:
(Light Interface) =
其余的,如果是写的
Light::Light(const Transform & l2w, int ns - 1)
...
将是构造函数的定义。
我不熟悉这本书的来源,但我怀疑这种非正式性实际上会有所帮助。