Source code for pyunity.files

"""
Module to represent files.

"""

__all__ = ["Texture2D", "Prefab"]

from OpenGL import GL as gl
from PIL import Image

class Script:
    def __init__(self, path):
        self.path = path

[docs]class Texture2D: """ Class to represent a texture. """ def __init__(self, path): self.path = path self.loaded = False
[docs] def load(self): """ Loads the texture and sets up an OpenGL texture name. """ img = Image.open(self.path) img_data = img.tobytes() width, height = img.size self.texture = gl.glGenTextures(1) gl.glBindTexture(gl.GL_TEXTURE_2D, self.texture) gl.glTexParameterf( gl.GL_TEXTURE_2D, gl.GL_TEXTURE_MAG_FILTER, gl.GL_LINEAR) gl.glTexParameterf( gl.GL_TEXTURE_2D, gl.GL_TEXTURE_MIN_FILTER, gl.GL_LINEAR) gl.glTexImage2D(gl.GL_TEXTURE_2D, 0, gl.GL_RGB, width, height, 0, gl.GL_RGB, gl.GL_UNSIGNED_BYTE, img_data) gl.glEnable(gl.GL_TEXTURE_2D) self.loaded = True
[docs] def use(self): """ Binds the texture for usage. The texture is reloaded if it hasn't already been. """ if not self.loaded: self.load() gl.glBindTexture(gl.GL_TEXTURE_2D, self.texture)
class Prefab: def __init__(self, path): self.path = path