tw16980.pp 868 B

12345678910111213141516171819202122232425262728293031323334
  1. { %norun }
  2. {$mode delphi}
  3. {$packset 4}
  4. type
  5. TColorComponent = (ccRed, ccGreen, ccBlue, ccAlpha);
  6. TColorMask = set of TColorComponent;
  7. TGLStateCache = class
  8. private
  9. FColorWriteMask: array[0..15] of TColorMask;
  10. procedure SetColorWriteMask(Index: Integer; const Value: TColorMask);
  11. end;
  12. TGLuint = cardinal;
  13. tglboolean = boolean;
  14. var
  15. glColorMaski: procedure(index: TGLuint; r: TGLboolean; g: TGLboolean;
  16. b: TGLboolean; a: TGLboolean);{$IFDEF MSWINDOWS} stdcall; {$ENDIF} {$IFDEF UNIX} cdecl; {$ENDIF}
  17. procedure TGLStateCache.SetColorWriteMask(Index: Integer;
  18. const Value: TColorMask);
  19. begin
  20. // if FColorWriteMask[Index]<>Value then
  21. begin
  22. FColorWriteMask[Index] := Value;
  23. glColorMaski(Index, ccRed in Value, ccGreen in Value, ccBlue in Value,
  24. ccAlpha in Value);
  25. end;
  26. end;
  27. begin
  28. end.