代码之家  ›  专栏  ›  技术社区  ›  ronag

获取当前颜色

  •  9
  • ronag  · 技术社区  · 14 年前

    即时消息使用 glColor4f(1.0f, 1.0f, 1.0f, alpha_); 将透明度设置为我正在绘制的基本体。

    但是我希望能够读取当前的opengl alpha值。有可能吗?

    例如

    float current_alpha = glGetAlpha(); //???
    glColor4f(1.0f, 1.0f, 1.0f, alpha_*current_alpha);
    
    2 回复  |  直到 13 年前
        1
  •  14
  •   tibur    14 年前

    或者存储上次发送的alpha值 glColor4f

    float currentColor[4];
    glGetFloatv(GL_CURRENT_COLOR,currentColor);
    
        2
  •  1
  •   Frédéric Hamidi    14 年前

    你是说你画的片段的alpha值吗(这可以解释你为什么想要 alpha_ * current_alpha )? 如果是,请记住从管道中读取片段是 昂贵的 .

    如果要从后向前渲染,请考虑使用 GL_SRC_ALPHA + GL_ONE_MINUS_SRC_ALPHA 诡计。