texbind(3G)
texbind - selects a texture function
As shipped in IRIX 6.5. First release of IRIX 6.5.
NAME texbind - selects a texture function C SPECIFICATION void texbind(target, index) long target, index; PARAMETERS target expects the texture resource to which the texture function definition is to be bound. There are three appropriate resources, TX_TEXTURE_0 , TX_TEXTURE_DETAIL and TX_TEXTURE_IDLE. index expects the name of the texture function that is being bound. Name is the index passed to texdef2d when the texture function was defined. DESCRIPTION Texture coordinates, s,t,u may be specified at geometry vertices, similarly to color, depth, and vertex normals. The texture coordinates are interpolated from the values specified at the vertices for each screen pixel touched by the geometry. A texture function maps the texture coordinates s,t, or s,t,u, corresponding to a screen pixel into nc values, called texture function outputs, using an image and a set of properties. The texture function outputs may be translated with a texture look-up table. The texture function outputs are used by the texture environment function to modify the screen pixel color. texdef2d and texdef3d define a texture function and texbind selects which texture function definition to use. The texture environment function is defined by tevdef and selected by tevbind. The texture look-up table is defined by tlutdef and selected by tlutbind. The texture coordinates are specified with the t family of commands. By default texture function definition 0 is bound to TX_TEXTURE_0. Texture mapping is enabled when an texture function definition other than 0 is bound to TX_TEXTURE_0, and a texture environment definition other than 0 is bound to TV_ENV0. (See tevbind.) If the texture bound to TX_TEXTURE_0, uses a detail enhancing magnification algorithm, the texture bound to TX_TEXTURE_DETAIL, is used in that calculation. If no texture is bound to TX_TEXTURE_DETAIL, and the magnification algorithm reqires a detail texture results are undefined. TX_TEXTURE_IDLE can be used in the following way to control texture memory management. The N most recently loaded (a texbind that required a load) textures that fit in texture memory are tracked by the GL. If texture memory is full and a new texture is bound, the texture that has been in texture memory the longest replaced by the new texture. If the user wishes some other texture to be replaced, he can idle that texture first and the new texture will use the space vacated by the idled texture. A simple example is the case where two textures can fit in texture memory and user wishes to keep one texture, texture A, in memory always and cycle through three other textures, B, C, D, of which only one will fit. To avoid replacing texture A, the user can idle texture B after primitives are drawn with it, and when C is bound (and loaded), it will take the space vacated by B, and leave the texture A alone. SEE ALSO t, tevbind, tevdef, texdef2d NOTES IRIS-4D G, GT, and GTX models, and the Personal Iris, do not support texture mapping. texbind is ignored by these machines. The Iris Indy, Indigo Entry, and XL support texture mapping except for lines. Use getgdesc to determine whether texture mapping is supported. texbind cannot be used while mmode is MSINGLE.