光照

    今天弄了一天的聚光灯效果,到下班时才明白问题所在。这一天整的,把红宝书都翻好几篇了,一直拿一个聚光灯照着个正方形,总是没有聚光的效果!

    后来终于想到点子上去了,还是我对光照计算理解得不够,OpenGL的光照是按顶点计算的,我整了一个大的正方形,虽然有了光,但是只在四个顶点处计算光照效果,而我又选了GL_SMOOTH模式,四个顶点处的光照效果将会在整个正方形上进行插补。所以即使用了聚光灯效果,看起来也跟环境光的效果差不多。最后,将大的正方形分解成几百个小正方形,终于和书上说的效果一样了!!

    总结:OpenGL进行3D效果模拟时,一定要分解,多加顶点~ 呵呵

你可能感兴趣的:(光照)