Thema: Blending

Einzelnen Beitrag anzeigen

Peter666

Registriert seit: 11. Aug 2007
357 Beiträge
 
#3

AW: Blending

  Alt 30. Mär 2017, 12:41
Danke, Alphablending ist etwas anderes.

Delphi-Quellcode:
function Scale32(const scale: Byte; const p: cardinal): cardinal;
var
  ag, rb: cardinal;
  sag, srb: cardinal;
begin
  ag := (p and $FF00FF00) shr 8;
  rb := p and $00FF00FF;

  sag := scale * ag;
  srb := scale * rb;

  sag := sag and $FF00FF00;
  srb := srb shr 8 and $00FF00FF;

  result := sag or srb;
end;

function blend_alpha(src, tgt: cardinal): cardinal;
var
  alpha, invalpha: Byte;
begin
  alpha := (tgt shr 24) and $FF;
  invalpha := $FF - alpha;

  result := Scale32(alpha, tgt) + Scale32(invalpha, src);
end;
Das ist nicht das Problem. Additive ist etwas anderes: http://www.learnopengles.com/tag/additive-blending/
  Mit Zitat antworten Zitat