我的模型中几乎没有对比。坦率地说,该模型看起来像一个大斑点,尽管它的形状很复杂。我真的只能看到它的轮廓形状。我能看到的形状内部唯一的细节是由聚光灯创建的,无论我如何调整它,它总是非常微弱。
使物体的形状清晰显示并获得一些对比的关键是什么?
您是否为三角形创建了法线并将其传入?您从未提到过这些,并且在定向照明工作之前需要表面法线(法线是垂直于每个表面的光线,通常来自表面的中心。
我没有手边的 OpenGL 参考资料,但我记得 3 种光照为定向、环境和镜面反射,其中环境是全局的,定向和漫反射取决于光照方向和表面法线。
我建议首先从 1 个光源开始并弄清楚这一点,然后在你的单个光源正常工作后添加更多光源。
问题是,虽然我正在创建法线并为它们提供 glNormalArray,但我没有启用 GL_NORMALIZE,因此它们没有被使用。我一直认为 GL_NORMALIZE 会自动创建法线,这与我想要的相反。