OpenGL中的光照问题

Posted

技术标签:

【中文标题】OpenGL中的光照问题【英文标题】:Lighting issue in OpenGL 【发布时间】:2009-06-12 02:58:48 【问题描述】:

我在开发 OpenGL 应用程序时遇到问题。

奇怪的是,我和我的一个朋友正在 Linux 下使用 OpenGL 开发 3d 场景,并且存储库中有一些代码,但是如果我们都签出相同的最新版本,这意味着,相同的代码发生:编译后在他的计算机上,他可以看到完整的光照模型,而在我的计算机上,我只激活了环境光,但没有激活漫反射或镜面反射。

可能是驱动的问题吗?(因为他使用的是 ATi 卡,而我使用的是 nVIDIA 卡) 还是静态库?

我再说一遍,它是相同的代码,在不同的机器上编译。这很奇怪,它应该看起来一样。

感谢您提供的任何帮助或提示。

【问题讨论】:

【参考方案1】:

这很容易是驱动程序问题,或者是一张卡支持另一张卡不支持的扩展。

在你的机器上试试他的二进制文件。如果它继续失败,要么你的驱动程序坏了,要么你正在使用你的卡不支持的命令。另一方面,如果使用在他的机器上编译的代码时你的屏幕看起来正确,那么你的静态库就有问题。

【讨论】:

是的,你是对的,这是驱动程序问题。我已经在我的机器上尝试了二进制文件,并在不同的机器上编译了程序。使用较新的 nVIDIA 卡和 Ubuntu,在我测试的所有 PC 中都会发生相同的情况。

以上是关于OpenGL中的光照问题的主要内容,如果未能解决你的问题,请参考以下文章

✠OpenGL-7-光照

OpenGL 可编程管线 基础光照 的实现

OpenGL编程 基础篇OpenGL中几种光照参数

OpenGL光照3:光源

OpenGL 光照着色器

OpenGL 的旋转和光照问题