Lloyd A Treinish:
 |I noticed an obscure feature the other day.   In h/w rendering, if you
 |request multi-pixel lines and opacity is not 1, then the lines are always
 |rendered with single pixel width.  If anyone is looking at the relevant
 |code, it would occasionally be useful to do translucent, multi-pixel lines.

I think this is what needs to be done (not tested).  This code in...

     hwPortUtilOGL.c::_drawPrimitives():

       case ct_lines / ct_polylines /ct_pline:
          ...
          if(xf->attributes.linewidth > 0)
             glLineWidth(xf->attributes.linewidth);

          if(xf->attributes.aalines) {
             glEnable(GL_LINE_SMOOTH);
             glEnable(GL_BLEND);
             glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
             glHint(GL_LINE_SMOOTH_HINT, GL_DONT_CARE);
          }
          ...

needs merged into corresponding switch cases in:

    hwPortUtilOGL.c::_drawTranslucentPrimitives()

The BLEND mode is already on, and the correct BlendFunc is already set at
that point, so they can be skipped.

Randy

-- 
Randall Hopper (mailto:[EMAIL PROTECTED])
Lockheed Martin Operation Support
EPA Scientific Visualization Center
US EPA MD/24 ERC-1A; RTP, NC 27711

Reply via email to