Max 5 API Reference

OB3D Module
[Jitter]

Collaboration diagram for OB3D Module:

Functions

long jit_gl_report_error (char *prefix)
 Tests for OpenGL error and reports to Max window.
const char * jit_gl_get_vendor ()
 Retrieves OpenGL vendor string.
const char * jit_gl_get_renderer ()
 Retrieves OpenGL renderer string.
const char * jit_gl_get_version ()
 Retrieves OpenGL version string.
const char * jit_gl_get_glu_version ()
 Retrieves OpenGL GL Utilities version string.
const char * jit_gl_get_extensions ()
 Retrieves OpenGL extensions string.
char jit_gl_is_min_version (int major, int minor, int release)
 Tests current OpenGL version to be greater than or equal to the version provided.
char jit_gl_is_extension_supported (t_jit_gl_context ctx, const char *ext)
 Given a t_jit_gl_context pointer, checks to see if it suppports the provided extension.
t_jit_glchunkjit_glchunk_new (t_symbol *prim, int planes, int vertices, int indices)
 Allocates and initializes a t_jit_glchunk struct.
t_jit_glchunkjit_glchunk_grid_new (t_symbol *prim, int planes, int width, int height)
 Allocates and initializes a t_jit_glchunk struct with 2D grid matrix.
void jit_glchunk_delete (t_jit_glchunk *x)
 Disposes t_jit_glchunk struct.
t_jit_err jit_glchunk_copy (t_jit_glchunk **new, t_jit_glchunk *orig)
 Allocates t_jit_glchunk struct, and copies from t_jit_gl_struct provided.
t_jit_err jit_gl_drawinfo_setup (void *x, t_jit_gl_drawinfo *drawinfo)
 Initializes t_jit_gl_drawinfo struct with the current context and ob3d.
long jit_gl_drawinfo_active_textures (t_jit_gl_drawinfo *drawinfo)
 Determine the number of active texture units to use.
void jit_gl_texcoord1f (t_jit_gl_drawinfo *drawinfo, float s)
 Set texture coordinate for all active texture units.
void jit_gl_texcoord2f (t_jit_gl_drawinfo *drawinfo, float s, float t)
 Set texture coordinate for all active texture units.
void jit_gl_texcoord3f (t_jit_gl_drawinfo *drawinfo, float s, float t, float r)
 Set texture coordinate for all active texture units.
void jit_gl_texcoord1fv (t_jit_gl_drawinfo *drawinfo, float *v)
 Set texture coordinate for all active texture units.
void jit_gl_texcoord2fv (t_jit_gl_drawinfo *drawinfo, float *v)
 Set texture coordinate for all active texture units.
void jit_gl_texcoord3fv (t_jit_gl_drawinfo *drawinfo, float *v)
 Set texture coordinate for all active texture units.
void jit_gl_bindtexture (t_jit_gl_drawinfo *drawinfo, t_symbol *s, long i)
 Bind texture for specified texture unit.
void jit_gl_unbindtexture (t_jit_gl_drawinfo *drawinfo, t_symbol *s, long i)
 Unbind texture for specified texture unit.
void jit_gl_begincapture (t_jit_gl_drawinfo *drawinfo, t_symbol *s, long i)
 Begin texture capture.
void jit_gl_endcapture (t_jit_gl_drawinfo *drawinfo, t_symbol *s, long i)
 End texture capture.
void * jit_ob3d_setup (void *jit_class, long oboffset, long flags)
 Adds default methods and attributes to the OB3D class.
void * jit_ob3d_new (void *x, t_symbol *dest_name)
 Allocates and initializes OB3D resources.
void jit_ob3d_free (void *jit_ob)
 Disposes OB3D resources.
t_jit_err jit_ob3d_set_context (void *jit_ob)
 Sets the current Open GL context to the context referenced by the OB3D drawto attribute.
void * ob3d_jitob_get (void *v)
 Retrieves parent Jitter object from opaque t_jit_ob3d struct.
long ob3d_auto_get (void *v)
 Retrieves automatic flag from opaque t_jit_ob3d struct.
long ob3d_enable_get (void *v)
 Retrieves enable flag from opaque t_jit_ob3d struct.
long ob3d_ui_get (void *v)
 Retrieves UI flag from opaque t_jit_ob3d struct.
void * ob3d_outlet_get (void *v)
 Retrieves matrix outlet from opaque t_jit_ob3d struct.
long ob3d_dirty_get (void *v)
 Retrieves dirty flag from opaque t_jit_ob3d struct.
void ob3d_dirty_set (void *v, long c)
 Sets dirty flag from opaque t_jit_ob3d struct.
void ob3d_dest_dim_set (void *v, long width, long height)
 Sets destination dimensions in opaque t_jit_ob3d struct.
void ob3d_dest_dim_get (void *v, long *width, long *height)
 Gets destination dimensions from opaque t_jit_ob3d struct.
void ob3d_render_ptr_set (void *v, void *render_ptr)
 Sets renderer pointer in opaque t_jit_ob3d struct.
void * ob3d_render_ptr_get (void *v)
 Gets renderer pointer from opaque t_jit_ob3d struct.
void max_ob3d_setup (void)
 Adds default methods and OB3D Max wrapper class.
void max_jit_ob3d_attach (void *x, t_jit_object *jit_ob, void *outlet)
 Allocates and initializes OB3D Max wrapper related resources.
void max_jit_ob3d_detach (void *x)
 Disposes OB3D Max wrapper related resources.
t_jit_err max_jit_ob3d_assist (void *x, void *b, long m, long a, char *s)
 Default OB3D Max wrapper assistance method.
void max_ob3d_bang (t_max_object *x)
 Default OB3D Max wrapper bang method.
void max_ob3d_notify (t_max_object *x, t_symbol *sender_name, t_symbol *msg, void *p_sender)
 Default OB3D Max wrapper notification method.
t_jit_err jit_ob3d_draw_chunk (void *v, t_jit_glchunk *chunk)
 Draws one t_jit_glchunk If the OB3D is not in matrixoutput mode, the drawing call is made directly to the renderer.

Function Documentation

void jit_gl_begincapture ( t_jit_gl_drawinfo drawinfo,
t_symbol s,
long  i 
)

Begin texture capture.

Parameters:
drawinfo t_jit_gl_drawinfo pointer
s texture name
i ignored
void jit_gl_bindtexture ( t_jit_gl_drawinfo drawinfo,
t_symbol s,
long  i 
)

Bind texture for specified texture unit.

Parameters:
drawinfo t_jit_gl_drawinfo pointer
s texture name
i texture unit
long jit_gl_drawinfo_active_textures ( t_jit_gl_drawinfo drawinfo  ) 

Determine the number of active texture units to use.

Parameters:
drawinfo t_jit_gl_drawinfo pointer
Returns:
number of active texture units
t_jit_err jit_gl_drawinfo_setup ( void *  x,
t_jit_gl_drawinfo drawinfo 
)

Initializes t_jit_gl_drawinfo struct with the current context and ob3d.

Parameters:
x Jitter object pointer
drawinfo t_jit_gl_drawinfo pointer
Returns:
t_jit_err error code
void jit_gl_endcapture ( t_jit_gl_drawinfo drawinfo,
t_symbol s,
long  i 
)

End texture capture.

Parameters:
drawinfo t_jit_gl_drawinfo pointer
s texture name
i ignored
const char* jit_gl_get_extensions (  ) 

Retrieves OpenGL extensions string.

Equivalent to glGetString(GL_EXTENSIONS). Assumes a valid context has been set.

Returns:
OpenGL GL extensions string
const char* jit_gl_get_glu_version (  ) 

Retrieves OpenGL GL Utilities version string.

Equivalent to glGetString(GL_GLU_VERSION). Assumes a valid context has been set.

Returns:
OpenGL GL Utilities version string
const char* jit_gl_get_renderer (  ) 

Retrieves OpenGL renderer string.

Equivalent to glGetString(GL_RENDERER). Assumes a valid context has been set.

Returns:
OpenGL renderer string
const char* jit_gl_get_vendor (  ) 

Retrieves OpenGL vendor string.

Equivalent to glGetString(GL_VENDOR). Assumes a valid context has been set.

Returns:
OpenGL vendor string
const char* jit_gl_get_version (  ) 

Retrieves OpenGL version string.

Equivalent to glGetString(GL_VERSION). Assumes a valid context has been set.

Returns:
OpenGL version string
char jit_gl_is_extension_supported ( t_jit_gl_context  ctx,
const char *  ext 
)

Given a t_jit_gl_context pointer, checks to see if it suppports the provided extension.

Equivalent to testing for the substring within the string returned by glGetString(GL_EXTENSIONS).

Parameters:
ctx t_jit_gl_context pointer
ext extension string
Returns:
1 if true, 0 if false.
char jit_gl_is_min_version ( int  major,
int  minor,
int  release 
)

Tests current OpenGL version to be greater than or equal to the version provided.

Assumes a valid context has been set.

Parameters:
major major version number
minor minor version number
release release version number
Returns:
1 if true, 0 if false.
long jit_gl_report_error ( char *  prefix  ) 

Tests for OpenGL error and reports to Max window.

Parameters:
prefix prefix string
Returns:
OpenGL error code
void jit_gl_texcoord1f ( t_jit_gl_drawinfo drawinfo,
float  s 
)

Set texture coordinate for all active texture units.

Equivalent to glMultiTexCoord1fARB for each active texture unit.

Parameters:
drawinfo t_jit_gl_drawinfo pointer
s s texture coordinate
void jit_gl_texcoord1fv ( t_jit_gl_drawinfo drawinfo,
float *  v 
)

Set texture coordinate for all active texture units.

Equivalent to glMultiTexCoord1fvARB for each active texture unit.

Parameters:
drawinfo t_jit_gl_drawinfo pointer
v texture coordinate vector
void jit_gl_texcoord2f ( t_jit_gl_drawinfo drawinfo,
float  s,
float  t 
)

Set texture coordinate for all active texture units.

Equivalent to glMultiTexCoord2fARB for each active texture unit.

Parameters:
drawinfo t_jit_gl_drawinfo pointer
s s texture coordinate
t t texture coordinate
void jit_gl_texcoord2fv ( t_jit_gl_drawinfo drawinfo,
float *  v 
)

Set texture coordinate for all active texture units.

Equivalent to glMultiTexCoord2fvARB for each active texture unit.

Parameters:
drawinfo t_jit_gl_drawinfo pointer
v texture coordinate vector
void jit_gl_texcoord3f ( t_jit_gl_drawinfo drawinfo,
float  s,
float  t,
float  r 
)

Set texture coordinate for all active texture units.

Equivalent to glMultiTexCoord3fARB for each active texture unit.

Parameters:
drawinfo t_jit_gl_drawinfo pointer
s s texture coordinate
t t texture coordinate
r r texture coordinate
void jit_gl_texcoord3fv ( t_jit_gl_drawinfo drawinfo,
float *  v 
)

Set texture coordinate for all active texture units.

Equivalent to glMultiTexCoord3fvARB for each active texture unit.

Parameters:
drawinfo t_jit_gl_drawinfo pointer
v texture coordinate vector
void jit_gl_unbindtexture ( t_jit_gl_drawinfo drawinfo,
t_symbol s,
long  i 
)

Unbind texture for specified texture unit.

Parameters:
drawinfo t_jit_gl_drawinfo pointer
s texture name
i texture unit
t_jit_err jit_glchunk_copy ( t_jit_glchunk **  new,
t_jit_glchunk orig 
)

Allocates t_jit_glchunk struct, and copies from t_jit_gl_struct provided.

Parameters:
new pointer to new t_jit_glchunk pointer
orig priginal t_jit_glchunk pointer
Returns:
t_jit_err error code
void jit_glchunk_delete ( t_jit_glchunk x  ) 

Disposes t_jit_glchunk struct.

Parameters:
x t_jit_glchunk pointer
t_jit_glchunk* jit_glchunk_grid_new ( t_symbol prim,
int  planes,
int  width,
int  height 
)

Allocates and initializes a t_jit_glchunk struct with 2D grid matrix.

Parameters:
prim drawing primitive name
planes number of planes to allocate in vertex matrix
width width of vertex matrix to allocate
height height of vertex matrix to allocate
Returns:
t_jit_glchunk pointer
t_jit_glchunk* jit_glchunk_new ( t_symbol prim,
int  planes,
int  vertices,
int  indices 
)

Allocates and initializes a t_jit_glchunk struct.

Parameters:
prim drawing primitive name
planes number of planes to allocate in vertex matrix
vertices number of vertices to allocate in vertex matrix
indices number of indices to allocate in index matrix, if used
Returns:
t_jit_glchunk pointer
t_jit_err jit_ob3d_draw_chunk ( void *  v,
t_jit_glchunk chunk 
)

Draws one t_jit_glchunk If the OB3D is not in matrixoutput mode, the drawing call is made directly to the renderer.

Otherwise, the chunk is sent out the OB3D's outlet as a message compatible with jit.gl.render.

Parameters:
v t_jit_ob3d pointer
chunk t_jit_glchunk pointer
Returns:
t_jit_err error code
void jit_ob3d_free ( void *  jit_ob  ) 

Disposes OB3D resources.

Parameters:
jit_ob Jitter object pointer
void* jit_ob3d_new ( void *  x,
t_symbol dest_name 
)

Allocates and initializes OB3D resources.

Parameters:
x Jitter object pointer
dest_name drawing destination name
Returns:
t_jit_ob3d pointer (opaque)
t_jit_err jit_ob3d_set_context ( void *  jit_ob  ) 

Sets the current Open GL context to the context referenced by the OB3D drawto attribute.

Warning:
Not recommended for use within the draw method, as it can have adverse effects when rendering to alternate contexts as is the case when capturing to a texture.
Parameters:
jit_ob Jitter object pointer
Returns:
t_jit_err error code
void* jit_ob3d_setup ( void *  jit_class,
long  oboffset,
long  flags 
)

Adds default methods and attributes to the OB3D class.

Parameters:
jit_class Jitter class pointer
oboffset object struct byte offset for t_jit_ob3d pointer
flags flags to override default OB3D behavior
Returns:
t_jit_class3d pointer (opaque)
t_jit_err max_jit_ob3d_assist ( void *  x,
void *  b,
long  m,
long  a,
char *  s 
)

Default OB3D Max wrapper assistance method.

Parameters:
x Max object pointer
b ignored
m inlet or outlet type
a index
s output string
Returns:
t_jit_err error code
void max_jit_ob3d_attach ( void *  x,
t_jit_object jit_ob,
void *  outlet 
)

Allocates and initializes OB3D Max wrapper related resources.

Parameters:
x Max wrapper object pointer
jit_ob Jitter object pointer
outlet matrix outlet pointer
void max_jit_ob3d_detach ( void *  x  ) 

Disposes OB3D Max wrapper related resources.

Parameters:
x Max wrapper object pointer
void max_ob3d_bang ( t_max_object x  ) 

Default OB3D Max wrapper bang method.

Parameters:
x Max object pointer
void max_ob3d_notify ( t_max_object x,
t_symbol sender_name,
t_symbol msg,
void *  p_sender 
)

Default OB3D Max wrapper notification method.

Parameters:
x Max object pointer
sender_name sender's object name
msg notification message
p_sender sender's object pointer
long ob3d_auto_get ( void *  v  ) 

Retrieves automatic flag from opaque t_jit_ob3d struct.

Parameters:
v t_jit_ob3d pointer
Returns:
automatic flag
void ob3d_dest_dim_get ( void *  v,
long *  width,
long *  height 
)

Gets destination dimensions from opaque t_jit_ob3d struct.

Parameters:
v t_jit_ob3d pointer
width destination dimensions width pointer
height destination dimensions height pointer
void ob3d_dest_dim_set ( void *  v,
long  width,
long  height 
)

Sets destination dimensions in opaque t_jit_ob3d struct.

Parameters:
v t_jit_ob3d pointer
width destination dimensions width
height destination dimensions height
long ob3d_dirty_get ( void *  v  ) 

Retrieves dirty flag from opaque t_jit_ob3d struct.

Parameters:
v t_jit_ob3d pointer
Returns:
dirty flag
void ob3d_dirty_set ( void *  v,
long  c 
)

Sets dirty flag from opaque t_jit_ob3d struct.

Parameters:
v t_jit_ob3d pointer
c dirty flag state
long ob3d_enable_get ( void *  v  ) 

Retrieves enable flag from opaque t_jit_ob3d struct.

Parameters:
v t_jit_ob3d pointer
Returns:
enable flag
void* ob3d_jitob_get ( void *  v  ) 

Retrieves parent Jitter object from opaque t_jit_ob3d struct.

Parameters:
v t_jit_ob3d pointer
Returns:
parent Jitter object pointer
void* ob3d_outlet_get ( void *  v  ) 

Retrieves matrix outlet from opaque t_jit_ob3d struct.

Parameters:
v t_jit_ob3d pointer
Returns:
matrix outlet
void* ob3d_render_ptr_get ( void *  v  ) 

Gets renderer pointer from opaque t_jit_ob3d struct.

Parameters:
v t_jit_ob3d pointer
Returns:
renderer pointer
void ob3d_render_ptr_set ( void *  v,
void *  render_ptr 
)

Sets renderer pointer in opaque t_jit_ob3d struct.

Parameters:
v t_jit_ob3d pointer
render_ptr renderer pointer
long ob3d_ui_get ( void *  v  ) 

Retrieves UI flag from opaque t_jit_ob3d struct.

Parameters:
v t_jit_ob3d pointer
Returns:
UI flag

Copyright © 2008, Cycling '74