Vuo  0.4.4
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Typedefs | Functions

Description

An image residing in GPU memory (GL Texture Object).

Classes

struct  _VuoImage
 An image residing in GPU memory (GL Texture Object). More...
 

Typedefs

typedef struct _VuoImageVuoImage
 An image residing in GPU memory (GL Texture Object).
 

Functions

VuoImage VuoImage_get (const char *imageURL)
 Retrieves the image at the specified imageURL, and creates a VuoImage from it.
 
void VuoImage_free (void *texture)
 Decrements the retain count of the OpenGL Texture Object associated with the specified VuoImage, and frees the texture VuoImage struct.
 
VuoImage VuoImage_make (unsigned int glTextureName, unsigned long int pixelsWide, unsigned long int pixelsHigh)
 Returns a new VuoImage structure containing the specified values.
 
VuoImage VuoImage_valueFromString (const char *initializer)
 Parses the C string initializer to create a new value.
 
char * VuoImage_stringFromValue (const VuoImage value)
 Serializes value as a C string.
 
VuoImage VuoImage_valueFromJson (json_object *js)
 Decodes the JSON object js to create a new value.
 
json_object * VuoImage_jsonFromValue (const VuoImage value)
 Encodes value as a JSON object.
 
char * VuoImage_interprocessStringFromValue (const VuoImage value)
 Returns a JSON string containing an interprocess handle for the specified texture.
 
char * VuoImage_summaryFromValue (const VuoImage value)
 A brief summary of the contents of this texture.
 

Class Documentation

struct _VuoImage
Class Members
unsigned int glTextureName
unsigned long int glTextureTarget Always GL_TEXTURE_2D, unless converting from an IOSurface.
unsigned long int pixelsHigh
unsigned long int pixelsWide We could glGetTexLevelParameteri() but that would require a GPU roundtrip (inefficient).

Typedef Documentation

typedef struct _VuoImage * VuoImage

An image residing in GPU memory (GL Texture Object).

The struct is typedef'd to a pointer so that VuoImages are reference-counted, enabling us to automatically delete the GL Texture Object when the last reference is released.

Function Documentation

VuoImage VuoImage_get ( const char *  imageURL)

Retrieves the image at the specified imageURL, and creates a VuoImage from it.

Automatically activates and deactivates a GL Context (if it makes it that far in the loading process).

char * VuoImage_interprocessStringFromValue ( const VuoImage  value)

Returns a JSON string containing an interprocess handle for the specified texture.

Automatically activates and deactivates a GL Context.

VuoImage VuoImage_make ( unsigned int  glTextureName,
unsigned long int  pixelsWide,
unsigned long int  pixelsHigh 
)

Returns a new VuoImage structure containing the specified values.

The VuoImage takes ownership of glTextureName, and will call glDeleteTextures() on it when it's no longer needed.

char * VuoImage_stringFromValue ( const VuoImage  value)

Serializes value as a C string.

char * VuoImage_summaryFromValue ( const VuoImage  value)

A brief summary of the contents of this texture.

Example:
GL Texture (ID 42)
640x480
VuoImage VuoImage_valueFromJson ( json_object *  js)

Decodes the JSON object js to create a new value.

Automatically activates and deactivates a GL Context (if needed to dereference an IOSurface).

Returns
If js contains valid data, returns a pointer to the VuoImage. If not, returns NULL.
Parameters
jsA JSON object containing a GL Texture Name or IOSurfaceID, and the texture's width and height in pixels.
Example:
{
"glTextureName": 42,
"pixelsWide": 640,
"pixelsHigh": 480
}
Example:
{
"ioSurface": 42,
"pixelsWide": 640,
"pixelsHigh": 480
}
VuoImage VuoImage_valueFromString ( const char *  initializer)

Parses the C string initializer to create a new value.