DI-Guy SDK Documentation  13.8
diguyOglGraphicsTextureArray Class Reference

The class diguyOglGraphicsTextureArray is an example of a diguyGraphicsTextureArray subclass for an immediate mode renderer using the DI-Guy Loader. More...

#include <diguyOglGraphicsTextureArray.h>

Inheritance diagram for diguyOglGraphicsTextureArray:
diguyGraphicsTextureArray

Public Member Functions

 diguyOglGraphicsTextureArray (void *internal_data)
 
virtual void build () override
 This function will be called by DI-Guy when it is time for a renderer-specific texture object to be created. More...
 
virtual void unbuild () override
 This function will be called by DI-Guy when it is time for a renderer-specific texture object to be destroyed. More...
 
virtual void bind_now (diguyTextureMapType texture_type) override
 This function will be called by DI-Guy when the texture should be made active, or bound. More...
 
- Public Member Functions inherited from diguyGraphicsTextureArray
const char * get_name ()
 Returns the name of the texture. More...
 
int get_num_textures () const
 returns the number of textures in texture array More...
 
diguyGraphicsTextureget_texture_at_index (int index)
 returns a pointer to sub texture More...
 
const char * get_filename (int index) const
 This function returns the filename of the texture. More...
 
const char * get_ui_name (int index) const
 gets the UI friendly name of the texture More...
 
const char * get_full_filename (int index) const
 Returns: Where diguy found the file name... will be null if source data isn't available. More...
 
const char * get_cached_dds_filename (int index) const
 Returns: The file after transformation and stored in compressed_texture_cache. More...
 
int get_width ()
 Returns the width of the texture array, in pixels; -1 on failure. More...
 
int get_height ()
 Returns the height of the texture array, in pixels; -1 on failure. More...
 
int get_num_components ()
 This function returns how many components the texture has. More...
 
int get_contains_alpha_component ()
 This function returns whether the texture contains an alpha component. More...
 
int get_is_clip_map ()
 Returns if this texture should be rendered with alpha to coverage, Clip maps have 4 channels but return false for get_contains_alpha_component Useful for screen door transparency, and out of order transparency. More...
 
unsigned char * get_texture_map_data (int index)
 This function returns a memory buffer with the actual texture data. More...
 
int get_texture_map_data_size ()
 This function returns how many bytes are used by the texture map data buffer. More...
 
diguyGraphicsTextureCompressionType get_texture_compression_type ()
 This function returns which compression method, if any, is applied to the data returned bu get_texture_map_data(). More...
 
int get_num_included_mipmaps ()
 This function returns how many mipmaps are already included in the texture map data. More...
 
int get_mipmap_data_size (int mipmap)
 This function returns the size of the data, in bytes, of the specified mipmap. More...
 
int get_mipmap_data_offset (int mipmap)
 This function returns the data offset of the specified mipmap into the data pointer returned by get_texture_map_data(). More...
 
int get_gl_format ()
 This function returns the OpenGL pixel format enumeration of this texture. More...
 
const char * get_gl_format_as_string ()
 This function returns the OpenGL pixel format string of this texture. More...
 
int get_is_srgb_texture ()
 returns if texture should use sRGB style format hints, useful in DX11 where gl_format is less useful. More...
 
int get_dds_block_size ()
 This function returns the "block size" of the dds compression types. More...
 
int get_clamp_s ()
 For texture indices less than zero and greater than one, a decision must be made as to whether the texture is repeated or whether the edge pixels are replicated to fill the space. More...
 
int get_clamp_t ()
 For texture indices less than zero and greater than one, a decision must be made as to whether the texture is repeated or whether the edge pixels are replicated to fill the space. More...
 
int get_is_in_async_load_queue ()
 Is this texture currently being loaded by the asynchronous texture loader. More...
 
void get_approximate_color (int index, float **\return, float *g, float **< b >)
 Returns an approximation of the overall color based on mip-mapping that was generated when bdg files were built. More...
 
</b > void free_loader_memory (int index)
 This function frees most memory allocated by the DI-Guy geometry loader for this object. More...
 
virtual void asynchronous_post_load ()
 This function will be called by DI-Guy after the texture is loaded but before build. More...
 
bdiGeometryTextureArray * get_scripted_object ()
 

Protected Attributes

int m_built
 
GLuint m_texture_object
 

Additional Inherited Members

- Static Public Member Functions inherited from diguyGraphicsTextureArray
static void clear_last_bound_texture ()
 This function returns the last bound texture used by DI-Guy. More...
 
- Protected Member Functions inherited from diguyGraphicsTextureArray
 diguyGraphicsTextureArray (void *internal_data)
 A protected constructor. More...
 
virtual ~diguyGraphicsTextureArray ()
 A protected destructor. More...
 

Detailed Description

The class diguyOglGraphicsTextureArray is an example of a diguyGraphicsTextureArray subclass for an immediate mode renderer using the DI-Guy Loader.

Textures Arrays store a number of textures that can then be referred to with a single sampler object modify the visible appearance of meshes. Currently they are used for decals. They work in concert with materials to determine the final appearance of visible geometry.

The example subclass shows how to use the accessors of the diguyGraphicsTextureArray class and which virtual functions should be overridden for an immediate mode renderer such as OpenGL.

Constructor & Destructor Documentation

diguyOglGraphicsTextureArray::diguyOglGraphicsTextureArray ( void *  internal_data)

Member Function Documentation

virtual void diguyOglGraphicsTextureArray::build ( )
overridevirtual

This function will be called by DI-Guy when it is time for a renderer-specific texture object to be created.

At that point the texture information has been read from the texture file, and is available via the Accessor Functions above.

Immediate Mode:

Immediate mode renderers may override this function, to create an object that may be invoked by bind_now().

Scene Graph:

Scene graph renderers usually do override this function, to create an object that gets associated with diguyGraphicsMesh objects.

Callable From:

  • N/A (automatically called by DI-Guy Graphics API during the Build Stage)

Reimplemented from diguyGraphicsTextureArray.

virtual void diguyOglGraphicsTextureArray::unbuild ( )
overridevirtual

This function will be called by DI-Guy when it is time for a renderer-specific texture object to be destroyed.

Immediate Mode:

Immediate mode renderers may override this function, to destroy any object that may have been created by build().

Scene Graph:

Scene graph renderers usually do override this function, to destroy any object that may have been created by build().

Callable From:

  • N/A (automatically called by DI-Guy Graphics API during the Unbuild Stage)

Reimplemented from diguyGraphicsTextureArray.

virtual void diguyOglGraphicsTextureArray::bind_now ( diguyTextureMapType  texture_type)
overridevirtual

This function will be called by DI-Guy when the texture should be made active, or bound.

Immediate Mode:

Immediate mode renderers usually do override this function, to invoke the object created by build(), or make calls to the renderer to set appropriate texture state.

Scene Graph:

Scene graph renderers usually do not override this function.

Callable From:

  • N/A (automatically called by DI-Guy Graphics API during Draw Stage)

Reimplemented from diguyGraphicsTextureArray.

Member Data Documentation

int diguyOglGraphicsTextureArray::m_built
protected
GLuint diguyOglGraphicsTextureArray::m_texture_object
protected

The documentation for this class was generated from the following file: