ABSTRACT

Textures are encapsulated in opaque objects allocated by the system rather than by number or texture unit number. Textures are supported in shading (Sh) through the use of ShArray, ShTable, and ShTexture objects. The basic texture object type is the ShArray type, with different interpolation and filtering modes supported with template-based type modifiers. Type modifiers are smart enough to check if the underlying hardware texture can support interpolation or filtering with a simple mode change. Certain filtering and interpolation modes might require the insertion of shader code as well as particular settings in the underlying system texture object, and shaders might also depend on the particular interpolation modes implemented by a texture. There are several different subtypes of textures, differing by the element type stored, the dimensionality of the texture, and the format of the data.