Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ texbind(3G) — IRIX 6.5.3f

Media Vault

Software Library

Restoration Projects

Artifacts Sought



texbind(3G)                                                        texbind(3G)



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, TXTEXTURE0 , TXTEXTUREDETAIL and TXTEXTUREIDLE.

     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 TXTEXTURE0.
     Texture mapping is enabled when an texture function definition other than
     0 is bound to TXTEXTURE0, and a texture environment definition other
     than 0 is bound to TVENV0.  (See tevbind.)  If the texture bound to
     TXTEXTURE0, uses a detail enhancing magnification algorithm, the
     texture bound to TXTEXTUREDETAIL, is used in that calculation. If no
     texture is bound to TXTEXTUREDETAIL, and the magnification algorithm
     reqires a detail texture results are undefined.

     TXTEXTUREIDLE 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



                                                                        Page 1





texbind(3G)                                                        texbind(3G)



     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.









































                                                                        Page 2



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026