Browse Source

* added class function to get format descriptor from given format

* fixed alignment bug in texture data download
master
Bergmann89 9 years ago
parent
commit
6056f470e1
1 changed files with 15 additions and 1 deletions
  1. +15
    -1
      glBitmap.pas

+ 15
- 1
glBitmap.pas View File

@@ -455,7 +455,12 @@ type
{ 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;

////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -3920,6 +3925,14 @@ begin
result := TFormatDescriptor.Get(tfEmpty);
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///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -8427,6 +8440,7 @@ begin
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');


Loading…
Cancel
Save