0

我正在编写一个光线追踪器,并且已经能够使用 Phong 着色渲染球体和平面。

但是,我的三角形出现了非常奇怪的行为。每当我运行程序时,三角形似乎采用任意颜色(即使没有重新编译)。我是 C++ 新手,我完全不知道是什么原因造成的,因为其他对象都很好,而且它们都继承了相同的方法来计算它们的颜色。

三角形最常见的是黑色,但偶尔是蓝色、红色或粉红色的单一阴影(可能有其他颜色但不确定)。我注意到的是,每个阴影都是一致的,可能 RGB 值是 1 或 0,根据我的观察,我猜想蓝色例如是 (0,0,1)。

我的问题是,这种奇怪的非确定性可能是什么原因?这让我有点困惑,但我又是 C++ 的新手。这是光线追踪常见的问题吗?可能是面向对象,还是指针/引用问题?

如果需要,我可以提供更多详细信息,我只是不知道为什么会发生这种情况。

谢谢您的帮助!

4

1 回答 1

1

不确定性的最可能原因是代码中未初始化但已使用的变量。

于 2014-11-16T01:54:14.933 回答