每当我尝试使用点光源渲染地形时,它只适用于我的Nvidia gpu和驱动程序,而不适用于Intel集成和驱动程序。我相信问题在于我的代码和Nvidia gpu中的一个错误,因为我听说Nvidia的OpenGL实现有错误并且会让你逃脱你不应该做的事情。由于我没有得到任何错误,我需要帮助调试我的着色器。
链接: http://pastebin.com/sgwBatnw
注意: 我使用OpenGL 2和GLSL版本120
我能够解决我的问题,对任何有类似问题的人来说都不是因为我使用了常规变换矩阵,因为当我这样做时,我将法线w值设置为0.0;问题是,使用intel集成显卡,显然最大数量的阵列一般都是统一或最大的统一尺寸,而且我超过了这个限制,但它决定不报告它。这段代码的另一个问题是我正在进行隐式类型转换(将vec3除以浮点数),所以我纠正了这些事情并开始工作。这是我更新的代码。