diff options
author | Jonas Bernard <public.jbernard@web.de> | 2021-04-24 01:45:27 +0200 |
---|---|---|
committer | Jonas Bernard <public.jbernard@web.de> | 2021-04-24 01:45:27 +0200 |
commit | d4f6d3919e992ed9bb8d43833c694e431c9735c9 (patch) | |
tree | 39691ee36a7039dc3f0381013ef7b7bce9069b65 /txtgameengine/twod/textures.py | |
parent | fd73d0ad2c3b54850baf3c467954c92bd40ed010 (diff) | |
download | txtgameengine-d4f6d3919e992ed9bb8d43833c694e431c9735c9.tar.gz txtgameengine-d4f6d3919e992ed9bb8d43833c694e431c9735c9.tar.bz2 txtgameengine-d4f6d3919e992ed9bb8d43833c694e431c9735c9.zip |
Texture
Diffstat (limited to 'txtgameengine/twod/textures.py')
-rw-r--r-- | txtgameengine/twod/textures.py | 20 |
1 files changed, 18 insertions, 2 deletions
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 |