- GetPixel isn't set if you are loading textures inside the constructor (Thanks Wilson)
10-08-2008
- AddAlphaFromglBitmap used the custom pointer instead the imagedatapointer (Thanks Wilson)
-- Additional Datapointer for functioninterface now has the name CustomData
+- Additional Datapointer for functioninterface now has the name CustomData
24-07-2008
- AssigneAlphaToBitmap overwrites his own palette (Thanks Wilson)
- If you load an texture from an file the property Filename will be set to the name of the file
- Property DataPtr now has the name Data
- Functions are more flexible between RGB(A) and BGR(A). RGB can be saved as Bitmap and will be saved as BGR
- Unused Depth removed
-- Function FreeData to freeing image data added
+- Function FreeData to freeing image data added
24-10-2007
- ImageID flag of TGAs was ignored. (Thanks Zwoetzen)
15-11-2006
// Please uncomment the defines below to configure the glBitmap to your preferences.
// If you have configured the unit you can uncomment the warning above.
-{$MESSAGE warn 'Hey. I''m the glBitmap.pas and i need to be configured. My master tell me your preferences! ;)'}
+{.$MESSAGE warn 'Hey. I''m the glBitmap.pas and i need to be configured. My master tell me your preferences! ;)'}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Preferences ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
TglBitmapFormatDescriptor = class(TObject)
protected
function GetIsCompressed: Boolean; virtual; abstract;
+ function GetHasRed: Boolean; virtual; abstract;
+ function GetHasGreen: Boolean; virtual; abstract;
+ function GetHasBlue: Boolean; virtual; abstract;
function GetHasAlpha: Boolean; virtual; abstract;
function GetglDataFormat: GLenum; virtual; abstract;
function GetglInternalFormat: GLenum; virtual; abstract;
public
property IsCompressed: Boolean read GetIsCompressed;
+ property HasRed: Boolean read GetHasRed;
+ property HasGreen: Boolean read GetHasGreen;
+ property HasBlue: Boolean read GetHasBlue;
property HasAlpha: Boolean read GetHasAlpha;
property glFormat: GLenum read GetglFormat;
fFreeDataOnDestroy: Boolean;
fFreeDataAfterGenTexture: Boolean;
fData: PByte;
- fIsResident: Boolean;
+ fIsResident: GLboolean;
fBorderColor: array[0..3] of Single;
fDimension: TglBitmapPixelPosition;
property Dimension: TglBitmapPixelPosition read fDimension;
property Data: PByte read fData;
- property IsResident: Boolean read fIsResident;
+ property IsResident: GLboolean read fIsResident;
procedure AfterConstruction; override;
procedure BeforeDestruction; override;
fglDataFormat: GLenum;
function GetIsCompressed: Boolean; override;
+ function GetHasRed: Boolean; override;
+ function GetHasGreen: Boolean; override;
+ function GetHasBlue: Boolean; override;
function GetHasAlpha: Boolean; override;
function GetglFormat: GLenum; override;
end;
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-//TglBitmapFormatDescriptor///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+//TFormatDescriptor///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function TFormatDescriptor.GetRedMask: QWord;
begin
end;
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+function TFormatDescriptor.GetHasRed: Boolean;
+begin
+ result := (fRange.r > 0);
+end;
+
+//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+function TFormatDescriptor.GetHasGreen: Boolean;
+begin
+ result := (fRange.g > 0);
+end;
+
+//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+function TFormatDescriptor.GetHasBlue: Boolean;
+begin
+ result := (fRange.b > 0);
+end;
+
+//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function TFormatDescriptor.GetHasAlpha: Boolean;
begin
result := (fRange.a > 0);
if (ID > 0) then begin
Bind(false);
- glTexParameteriv(Target, GL_TEXTURE_SWIZZLE_RGBA, @fSwizzle[0]);
+ glTexParameteriv(Target, GL_TEXTURE_SWIZZLE_RGBA, PGLint(@fSwizzle[0]));
end;
end;
MAGIC_LEN = 2;
JPEG_MAGIC: String[MAGIC_LEN] = #$FF#$D8;
var
- jpeg: TJPEGImage;
intf: TLazIntfImage;
reader: TFPReaderJPEG;
StreamPos: Int64;
var
Temp: PByte;
TempWidth, TempHeight: Integer;
- TempIntFormat: Cardinal;
+ TempIntFormat: GLint;
IntFormat, f: TglBitmapFormat;
FormatDesc: TFormatDescriptor;
begin