openGL custom blendmodes
fuzinavl

Is there a way to define a blendmode which will combine these 2 operations?

  Rgba color(1.0f,1.0f,1.0f,opacity);           
                                     
  Canvas::SetTo( *los_buffer );

  Canvas::SetPixelWriteMode( COLOR_ONLY );  
  Blenders::Set( ADDITIVE_BLENDER );  
  ol::Ellipse( x,y,radius,radius).DrawArc( color, angle + arc/2, arc,0.0,0.0);
  
  Canvas::SetPixelWriteMode( ALPHA_ONLY );  
  glBlendFunc(GL_ZERO,GL_SRC_COLOR); //multiplicative_blender
  ol::Ellipse( x,y,radius,radius).DrawArc( color, angle + arc/2, arc,0.0,0.0);
  
  Canvas::SetPixelWriteMode( COLOR_AND_ALPHA );  //restore default mode

I want to additively combine RGB components, and multiplicatively combine alpha components.
I looked in the openGL redbook, but the predefined enumerations can't do what I need.

Bob
Quote:

I want to additively combine RGB components, and multiplicatively combine alpha components.

See EXT_blend_func_separate or OpenGL 1.4.

fuzinavl

Thanks!

Thread #588145. Printed from Allegro.cc