代码之家  ›  专栏  ›  技术社区  ›  Ben Zotto sberry

在执行纹理映射操作之前设置GL颜色做什么?

  •  3
  • Ben Zotto sberry  · 技术社区  · 14 年前

    为了“正确”累积颜色,代码将颜色设置为:

    glColor4f(f, f, f, 1);
    

    其中f是 1.0/number_of_samples

    既然纹理有自己的颜色和alpha数据,那么预先设置整体“颜色”会产生什么样的效果(数学上和直观上)?

    1 回复  |  直到 14 年前
        1
  •  5
  •   Dr. Snoopy    14 年前

    默认的纹理环境是GL\u MODULATE,这意味着顶点颜色(使用glColor设置)与纹理颜色相乘。

    fragmentColor = texColor / numberOfSamples (alpha = 1.0)
    

    希望这能解释。