[ Maverik Level 3 typedefs ]

#

MAV_texturedObjData

## Summary

Textured object data.

## Syntax

    typedef struct {
      MAV_window *win;
      MAV_object *obj;
      MAV_callbackDrawFn fn;
      MAV_drawInfo di;
      MAV_drawInfo *dip;
      MAV_matrix mat;
    } MAV_texturedObjData;

## Description

On executing the draw callback for a textured object, the mav_texturedObjectsManage function is called. This routine creates a `MAV_texturedObjData` data structure for the object which contains all the information necessary for it to be rendered at a later date: `win` is the window, `obj` is the object, `fn` the draw callback function, `di` the drawing information to use, `dip` a pointer to `di` or NULL if `di` is not defined, `mat` the state of the graphics matrix.

mav_texturedObjectsManage maintains a list of these data structures (which is reset at the start of each frame). mav_texturedObjectsRender is called at the end of the frame to traverse this list rendering the objects. Potentially this minimizes the context changes made by the graphics pipe thus increasing performance.

This use of this feature is controlled by the option variable `mav_opt_delayTexture` and is initially disabled.

Back to the index page.