index 5bd4aee4f8a610310a43142106f3f6ce6dc7eac2..3b60fe49de14e8865dc2817a39a0ea35b0ae1839 100644 (file)
{$IFDEF USE_SDL2}
SDL2,
{$ENDIF}
{$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
MAPDEF, ImagingTypes, Imaging, ImagingUtility;
type
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_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();
procedure e_GetTextureSize(ID: DWORD; Width, Height: PWord);
procedure e_DeleteTexture(ID: DWORD);
procedure e_RemoveAllTextures();
var
e_Colors: TRGB;
var
e_Colors: TRGB;
- e_NoGraphics: Boolean = False;
- e_FastScreenshots: Boolean = true; // it's REALLY SLOW with `false`
- g_dbg_scale: Single = 1.0;
- r_pixel_scale: Single = 1.0;
-
implementation
uses
implementation
uses
- paszlib, crc, utils;
-
+ paszlib, crc, utils, g_options;
type
TTexture = record
type
TTexture = record
e_RBO: GLuint = 0;
e_RBOSupported: Boolean = True;
e_Frame: GLuint = 0;
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;
//function e_getTextGLId (ID: DWORD): GLuint; begin result := e_Textures[ID].tx.id; end;
Result := True;
end;
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;
var
find_id: DWORD;
fmt: Word;
find_id := FindTexture;
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;
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;
var
find_id: DWORD;
fmt: Word;
find_id := FindTexture();
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;
ID := find_id;
DestroyFramebuffer;
DestroyFramebuffer;
- e_FrameW := Width;
- e_FrameH := Height;
-
glGetError();
glGenFramebuffers(1, @e_FBO);
glGetError();
glGenFramebuffers(1, @e_FBO);