X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2Fopengl%2Fr_graphics.pas;h=3b60fe49de14e8865dc2817a39a0ea35b0ae1839;hb=1f8100acd63d597420f56d3796e81f5268f49de5;hp=f7b7fd3e299e25af9357defbb18fe5e13da57abd;hpb=c89c14b5389074760ba6044f504591047eac64d9;p=d2df-sdl.git diff --git a/src/game/opengl/r_graphics.pas b/src/game/opengl/r_graphics.pas index f7b7fd3..3b60fe4 100644 --- a/src/game/opengl/r_graphics.pas +++ b/src/game/opengl/r_graphics.pas @@ -22,7 +22,7 @@ uses {$IFDEF USE_SDL2} SDL2, {$ENDIF} - SysUtils, Classes, Math, e_log, e_texture, g_base, + SysUtils, Classes, Math, e_log, r_texture, g_base, MAPDEF, ImagingTypes, Imaging, ImagingUtility; type @@ -66,8 +66,8 @@ procedure e_DarkenQuadWH (x, y, w, h: Integer; a: Integer); function e_CreateTextureImg (var img: TImageData; var ID: DWORD): Boolean; function e_CreateTexture(FileName: string; var ID: DWORD): Boolean; function e_CreateTextureEx(FileName: string; var ID: DWORD; fX, fY, fWidth, fHeight: Word): Boolean; -function e_CreateTextureMem(pData: Pointer; dataSize: LongInt; var ID: DWORD): Boolean; -function e_CreateTextureMemEx(pData: Pointer; dataSize: LongInt; var ID: DWORD; fX, fY, fWidth, fHeight: Word): Boolean; +function e_CreateTextureMem(pData: Pointer; dataSize: LongInt; var ID: DWORD; filter: Boolean = False): Boolean; +function e_CreateTextureMemEx(pData: Pointer; dataSize: LongInt; var ID: DWORD; fX, fY, fWidth, fHeight: Word; filter: Boolean = False): Boolean; procedure e_GetTextureSize(ID: DWORD; Width, Height: PWord); procedure e_DeleteTexture(ID: DWORD); procedure e_RemoveAllTextures(); @@ -166,8 +166,6 @@ var e_RBO: GLuint = 0; e_RBOSupported: Boolean = True; e_Frame: GLuint = 0; - e_FrameW: Integer = -1; - e_FrameH: Integer = -1; //function e_getTextGLId (ID: DWORD): GLuint; begin result := e_Textures[ID].tx.id; end; @@ -293,7 +291,7 @@ begin Result := True; end; -function e_CreateTextureMem(pData: Pointer; dataSize: LongInt; var ID: DWORD): Boolean; +function e_CreateTextureMem(pData: Pointer; dataSize: LongInt; var ID: DWORD; filter: Boolean = False): Boolean; var find_id: DWORD; fmt: Word; @@ -302,14 +300,14 @@ begin find_id := FindTexture; - if not LoadTextureMem(pData, dataSize, e_Textures[find_id].tx, e_Textures[find_id].tx.Width, e_Textures[find_id].tx.Height, @fmt) then exit; + if not LoadTextureMem(pData, dataSize, e_Textures[find_id].tx, e_Textures[find_id].tx.Width, e_Textures[find_id].tx.Height, @fmt, filter) then exit; id := find_id; Result := True; end; -function e_CreateTextureMemEx(pData: Pointer; dataSize: LongInt; var ID: DWORD; fX, fY, fWidth, fHeight: Word): Boolean; +function e_CreateTextureMemEx(pData: Pointer; dataSize: LongInt; var ID: DWORD; fX, fY, fWidth, fHeight: Word; filter: Boolean = False): Boolean; var find_id: DWORD; fmt: Word; @@ -318,7 +316,7 @@ begin find_id := FindTexture(); - if not LoadTextureMemEx(pData, dataSize, e_Textures[find_id].tx, fX, fY, fWidth, fHeight, @fmt) then exit; + if not LoadTextureMemEx(pData, dataSize, e_Textures[find_id].tx, fX, fY, fWidth, fHeight, @fmt, filter) then exit; ID := find_id; @@ -376,9 +374,6 @@ begin DestroyFramebuffer; - e_FrameW := Width; - e_FrameH := Height; - glGetError(); glGenFramebuffers(1, @e_FBO);