{ get the format descriptor by a given OpenGL internal format
@param aInternalFormat OpenGL internal format to get format descriptor for
@returns suitable format descriptor or tfEmpty-Descriptor }
- class function GetByFormat(const aInternalFormat: GLenum): TglBitmapFormatDescriptor;
+ class function GetByFormat(const aInternalFormat: GLenum): TglBitmapFormatDescriptor; overload;
+
+ { get the format descriptor by the given format
+ @param aFormat format to get descriptor for
+ @return suitable format descriptor or tfEmpty-Descriptor }
+ class function GetByFormat(const aFormat: TglBitmapFormat): TglBitmapFormatDescriptor; overload;
end;
////////////////////////////////////////////////////////////////////////////////////////////////////
end;
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+class function TglBitmapFormatDescriptor.GetByFormat(const aFormat: TglBitmapFormat): TglBitmapFormatDescriptor;
+begin
+ result := TFormatDescriptor.Get(aFormat);
+ if not Assigned(result) then
+ result := TFormatDescriptor.Get(tfEmpty);
+end;
+
+//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//TFormatDescriptor///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
class procedure TFormatDescriptor.Init;
FormatDesc := TFormatDescriptor.Get(IntFormat);
GetMem(Temp, FormatDesc.GetSize(TempWidth, TempHeight));
try
+ glPixelStorei(GL_PACK_ALIGNMENT, 1);
if FormatDesc.IsCompressed then begin
if not Assigned(glGetCompressedTexImage) then
raise EglBitmap.Create('compressed formats not supported by video adapter');