Package VisionEgg :: Module Textures :: Class Texture
[frames] | no frames]

Class Texture

source code

object --+
         |
        Texture

A 2 dimensional texture.

The pixel data can come from an image file, an image file stream,
an instance of Image from the Python Imaging Library, a numpy
array, or None.

If the data is a numpy array, floating point numbers are assumed
to be in the range 0.0 to 1.0, and integers are assumed to be in
the range 0 to 255.  The first index is the row (y position), the
second index is the column (x position), and if it's RGB or RGBA
data, the third index specifies the color band.  Thus, if the
texel data was 640 pixels wide by 480 pixels tall, the array would
have shape (480,640) for luminance information, (480,640,3) for
RGB information, and (480,640,4) for RGBA information.

The 2D texture data is not sent to OpenGL (video texture memory)
until the load() method is called.  The unload() method may be
used to remove the data from OpenGL.

A reference to the original image data is maintained.



Instance Methods
 
__init__(self, texels=None, size=None)
Creates instance of Texture object.
source code
 
update(self)
Update texture data This method does nothing, but may be overriden in classes that need to update their texture data whenever drawn.
source code
 
make_half_size(self) source code
 
unload(self)
Unload texture data from video texture memory.
source code
 
get_texels_as_image(self)
Return texel data as PIL image
source code
 
get_pixels_as_image(self) source code
 
load(self, texture_object, build_mipmaps=True, rescale_original_to_fill_texture_object=False, internal_format=gl.GL_RGB)
Load texture data to video texture memory.
source code
 
get_texture_object(self) source code

Inherited from object: __delattr__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __str__

Properties

Inherited from object: __class__

Method Details

__init__(self, texels=None, size=None)
(Constructor)

source code 
Creates instance of Texture object.

texels -- Texture data. If not specified, a blank white
          texture is created.
size -- If a tuple, force size of texture data if possible,
        raising an exception if not. If None, has no effect.

Overrides: object.__init__

update(self)

source code 
Update texture data

This method does nothing, but may be overriden in classes that
need to update their texture data whenever drawn.

It it called by the draw() method of any stimuli using
textures when its texture object is active, so it can safely
use put_sub_image() to manipulate its own texture data.

unload(self)

source code 
Unload texture data from video texture memory.

This only removes data from the video texture memory if there
are no other references to the TextureObject instance.  To
ensure this, all references to the texture_object argument
passed to the load() method should be deleted.

load(self, texture_object, build_mipmaps=True, rescale_original_to_fill_texture_object=False, internal_format=gl.GL_RGB)

source code 
Load texture data to video texture memory.

This will cause the texture data to become resident in OpenGL
video texture memory, enabling fast drawing.

The texture_object argument is used to specify an instance of
the TextureObject class, which is a wrapper for the OpenGL
texture object holding the resident texture.

To remove a texture from OpenGL's resident textures:       TextureObject passed as the texture_object argument and 2)
call the unload() method