From d4f6d3919e992ed9bb8d43833c694e431c9735c9 Mon Sep 17 00:00:00 2001 From: Jonas Bernard Date: Sat, 24 Apr 2021 01:45:27 +0200 Subject: Texture --- txtgameengine/twod/textures.py | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'txtgameengine/twod/textures.py') diff --git a/txtgameengine/twod/textures.py b/txtgameengine/twod/textures.py index 01dde52..0451e5c 100644 --- a/txtgameengine/twod/textures.py +++ b/txtgameengine/twod/textures.py @@ -1,11 +1,27 @@ import typing +from PIL import Image +import numpy as np + +TEXTURE_FOLDER = 'txtgameengine/res/textures/' if typing.TYPE_CHECKING: from ..app import TxtGameApp class Texture: - def __init__(self, app: 'TxtGameApp', gl_texid: int): + def __init__(self, app: 'TxtGameApp', path: str): self.app = app - self.gl_texid = gl_texid + self.path = path + self._load_from_disk() + self._bind_to_gl() + + def _load_from_disk(self): + self.image = Image.open(TEXTURE_FOLDER + self.path) + self.width, self.height = self.image.size + + def _bind_to_gl(self): + imagedata = np.array(list(self.image.getdata()), np.uint8) + self.gl_texid = self.app.render.setup_texture(self.width, self.height, imagedata) + def free(self): + self.app.render.free_texture(self.gl_texid) \ No newline at end of file -- cgit