Browse Source

* some small OpenGLES fixes

master
Bergmann89 9 years ago
parent
commit
821046d4db
1 changed files with 21 additions and 17 deletions
  1. +21
    -17
      glBitmap.pas

+ 21
- 17
glBitmap.pas View File

@@ -1063,11 +1063,11 @@ type
public
{ bind texture
@param aEnableTextureUnit enable texture unit for this texture (e.g. glEnable(GL_TEXTURE_2D)) }
procedure Bind(const aEnableTextureUnit: Boolean = true); virtual;
procedure Bind({$IFNDEF OPENGL_ES}const aEnableTextureUnit: Boolean = true{$ENDIF}); virtual;

{ bind texture
@param aDisableTextureUnit disable texture unit for this texture (e.g. glEnable(GL_TEXTURE_2D)) }
procedure Unbind(const aDisableTextureUnit: Boolean = true); virtual;
procedure Unbind({$IFNDEF OPENGL_ES}const aDisableTextureUnit: Boolean = true{$ENDIF}); virtual;

{ upload texture data from given data object to video card
@param aData texture data object that contains the actual data
@@ -1180,12 +1180,12 @@ type
{ bind texture
@param aEnableTexCoordsGen enable cube map generator
@param aEnableTextureUnit enable texture unit }
procedure Bind({$IFNDEF OPENGL_ES}const aEnableTexCoordsGen: Boolean = true;{$ENDIF} const aEnableTextureUnit: Boolean = true); reintroduce; virtual;
procedure Bind({$IFNDEF OPENGL_ES}const aEnableTexCoordsGen: Boolean = true; const aEnableTextureUnit: Boolean = true{$ENDIF}); reintroduce; virtual;

{ unbind texture
@param aDisableTexCoordsGen disable cube map generator
@param aDisableTextureUnit disable texture unit }
procedure Unbind({$IFNDEF OPENGL_ES}const aDisableTexCoordsGen: Boolean = true;{$ENDIF} const aDisableTextureUnit: Boolean = true); reintroduce; virtual;
procedure Unbind({$IFNDEF OPENGL_ES}const aDisableTexCoordsGen: Boolean = true; const aDisableTextureUnit: Boolean = true{$ENDIF}); reintroduce; virtual;
end;
{$IFEND}

@@ -8110,7 +8110,7 @@ begin
{$IF NOT DEFINED(OPENGL_ES) OR DEFINED(OPENGL_ES_EXT)}
if GL_EXT_texture_filter_anisotropic then begin
if fAnisotropic > 0 then begin
Bind(false);
Bind({$IFNDEF OPENGL_ES}false{$ENDIF});
glGetIntegerv(GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, @MaxAnisotropic);
if aValue > MaxAnisotropic then
fAnisotropic := MaxAnisotropic;
@@ -8131,7 +8131,7 @@ begin
if (ID <> 0) then
glDeleteTextures(1, @fID);
glGenTextures(1, @fID);
Bind(false);
Bind({$IFNDEF OPENGL_ES}false{$ENDIF});
end;

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -8153,14 +8153,14 @@ begin
aBuildWithGlu := false;
if (MipMap = mmMipmap) then begin
if (GL_VERSION_1_4 or GL_SGIS_generate_mipmap) then
glTexParameteri(Target, GL_GENERATE_MIPMAP, GL_TRUE)
glTexParameteri(Target, GL_GENERATE_MIPMAP, GLint(GL_TRUE))
else
aBuildWithGlu := true;
end else if (MipMap = mmMipmapGlu) then
aBuildWithGlu := true;
{$ELSE}
if (MipMap = mmMipmap) then
glTexParameteri(Target, GL_GENERATE_MIPMAP, GL_TRUE);
glGenerateMipmap(Target);
{$ENDIF}
end;

@@ -8243,7 +8243,7 @@ begin

//apply filter
if (ID > 0) then begin
Bind(false);
Bind({$IFNDEF OPENGL_ES}false{$ENDIF});
glTexParameteri(Target, GL_TEXTURE_MAG_FILTER, fFilterMag);

if (MipMap = mmNone) {$IFNDEF OPENGL_ES}or (Target = GL_TEXTURE_RECTANGLE){$ENDIF} then begin
@@ -8315,7 +8315,7 @@ begin
CheckAndSetWrap(R, fWrapR);

if (ID > 0) then begin
Bind(false);
Bind({$IFNDEF OPENGL_ES}false{$ENDIF});
glTexParameteri(Target, GL_TEXTURE_WRAP_S, fWrapS);
glTexParameteri(Target, GL_TEXTURE_WRAP_T, fWrapT);
{$IF NOT DEFINED(OPENGL_ES) OR DEFINED(OPENGL_ES_3_0)}
@@ -8366,19 +8366,23 @@ end;
{$IFEND}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
procedure TglBitmap.Bind(const aEnableTextureUnit: Boolean);
procedure TglBitmap.Bind({$IFNDEF OPENGL_ES}const aEnableTextureUnit: Boolean{$ENDIF});
begin
{$IFNDEF OPENGL_ES}
if aEnableTextureUnit then
glEnable(Target);
{$ENDIF}
if (ID > 0) then
glBindTexture(Target, ID);
end;

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
procedure TglBitmap.Unbind(const aDisableTextureUnit: Boolean);
procedure TglBitmap.Unbind({$IFNDEF OPENGL_ES}const aDisableTextureUnit: Boolean{$ENDIF});
begin
{$IFNDEF OPENGL_ES}
if aDisableTextureUnit then
glDisable(Target);
{$ENDIF}
glBindTexture(Target, 0);
end;

@@ -8519,7 +8523,7 @@ end;
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//TglBitmap2D/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
procedure TglBitmap2D.UploadDataIntern(const aDataObj: TglBitmapData; const aTarget: GLenum; const aBuildWithGlu: Boolean);
procedure TglBitmap2D.UploadDataIntern(const aDataObj: TglBitmapData; const aTarget: GLenum{$IFNDEF OPENGL_ES}; const aBuildWithGlu: Boolean{$ENDIF});
var
fd: TglBitmapFormatDescriptor;
begin
@@ -8684,9 +8688,9 @@ begin
end;

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
procedure TglBitmapCubeMap.Bind({$IFNDEF OPENGL_ES}const aEnableTexCoordsGen: Boolean;{$ENDIF} const aEnableTextureUnit: Boolean);
procedure TglBitmapCubeMap.Bind({$IFNDEF OPENGL_ES}const aEnableTexCoordsGen: Boolean; const aEnableTextureUnit: Boolean{$ENDIF});
begin
inherited Bind (aEnableTextureUnit);
inherited Bind({$IFNDEF OPENGL_ES}aEnableTextureUnit{$ENDIF});
{$IFNDEF OPENGL_ES}
if aEnableTexCoordsGen then begin
glTexGeni(GL_S, GL_TEXTURE_GEN_MODE, fGenMode);
@@ -8700,9 +8704,9 @@ begin
end;

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
procedure TglBitmapCubeMap.Unbind({$IFNDEF OPENGL_ES}const aDisableTexCoordsGen: Boolean;{$ENDIF} const aDisableTextureUnit: Boolean);
procedure TglBitmapCubeMap.Unbind({$IFNDEF OPENGL_ES}const aDisableTexCoordsGen: Boolean; const aDisableTextureUnit: Boolean{$ENDIF});
begin
inherited Unbind(aDisableTextureUnit);
inherited Unbind({$IFNDEF OPENGL_ES}aDisableTextureUnit{$ENDIF});
{$IFNDEF OPENGL_ES}
if aDisableTexCoordsGen then begin
glDisable(GL_TEXTURE_GEN_S);


Loading…
Cancel
Save