DI-Guy SDK Documentation  13.2
bdiGraphicsInitGraphicsAPI Struct Reference

#include <bdiGraphicsInitGraphicsAPI.h>

Public Attributes

diguyGraphicsShaderLanguage shader_language
 Sets the shader language for loading shaders. More...
 
int transpose_shader_matrices
 Whether matrices that will be used as transforms in shaders should be transposed from the DI-Guy default order. More...
 
bool use_4x3_shader_matrices
 Whether matrices that will be used as transforms in shaders should be sent as 4x3 matrix instead of 4x4. More...
 
int use_cached_optimized_geometry
 Sets whether .flt and .dae files will be loaded as geometry files optimized for DI-Guy use. More...
 
int use_cached_compressed_textures
 Sets whether compressed texture files should be generated from source uncompressed texture files in order to reduce texture memory usage. More...
 
int use_sRGB_corrected_textures
 Sets whether SRGB textures should be used, these allow a relatively free lookup into texture maps that have been transformed into sRGB space allowing a linear lighting pipeline to be setup. More...
 
int characters_have_world_space_triangle_query
 Experimental bits that allow the octtree and bounding boxes to be built from internally loaded vehicles to calculate their bounding box. More...
 
int scene_objects_have_world_space_triangle_query
 Experimental bits that allow the octtree to be built from internally loaded scene objects and vehicles to calculate their bounding box. More...
 
int use_shader_instancing
 Experimental to support instancing. More...
 
int instancing_respect_graphics_state_switch
 Experimental to support instancing. More...
 

Member Data Documentation

diguyGraphicsShaderLanguage bdiGraphicsInitGraphicsAPI::shader_language

Sets the shader language for loading shaders.

Possible values are:

DIGUY_GRAPHICS_SHADER_LANGUAGE_GLSL DIGUY_GRAPHICS_SHADER_LANGUAGE_HLSL

Default is DIGUY_GRAPHICS_SHADER_LANGUAGE_GLSL

int bdiGraphicsInitGraphicsAPI::transpose_shader_matrices

Whether matrices that will be used as transforms in shaders should be transposed from the DI-Guy default order.

This affects the data passed to/retrieved from the following DI-Guy Graphics API functions:

Note
Change in 12.5 Open Scene Graph uses the transposed form. OpenGL the transpose is done by the video card.
bool bdiGraphicsInitGraphicsAPI::use_4x3_shader_matrices

Whether matrices that will be used as transforms in shaders should be sent as 4x3 matrix instead of 4x4.

This affects the data passed to/retrieved from the following DI-Guy Graphics API functions:

int bdiGraphicsInitGraphicsAPI::use_cached_optimized_geometry

Sets whether .flt and .dae files will be loaded as geometry files optimized for DI-Guy use.

Generated files will be put into a subdirectory of the DI-Guy geometry directory, and will be automatically updated as needed (doesn't exist, or original file is newer).

The .bdg geometry format is a smaller, more efficient version of the geometry data encoded in .flt and .dae files. It is an internal DI-Guy format that is not directly supported by geometry editing programs.

There is no quality trade-off in using optimized geometry files, so it is recommended that they always be enabled.

Default is 1.

int bdiGraphicsInitGraphicsAPI::use_cached_compressed_textures

Sets whether compressed texture files should be generated from source uncompressed texture files in order to reduce texture memory usage.

There is a quality trade-off when using compressed textures. If there are too many undesired artifacts in the generated textures, they should not be used.

Generated files will be put into a subdirectory of the DI-Guy geometry directory, and will be automatically updated as needed (doesn't exist, or original file is newer).

The compressed texture files will be in the .dds (DirectDraw Surface) format.

Default is 0.

int bdiGraphicsInitGraphicsAPI::use_sRGB_corrected_textures

Sets whether SRGB textures should be used, these allow a relatively free lookup into texture maps that have been transformed into sRGB space allowing a linear lighting pipeline to be setup.

OSG 3.0 does not support sRGB textures properly.

Default is 1.

int bdiGraphicsInitGraphicsAPI::characters_have_world_space_triangle_query

Experimental bits that allow the octtree and bounding boxes to be built from internally loaded vehicles to calculate their bounding box.

Default is 1 (on); set to 0 to turn off.

**

Note
this functionality requires that diguyGraphicsMesh::free_loader_memory() is not called during the build process.
int bdiGraphicsInitGraphicsAPI::scene_objects_have_world_space_triangle_query

Experimental bits that allow the octtree to be built from internally loaded scene objects and vehicles to calculate their bounding box.

Default is 0 (off); set to 1 to turn on.

**

Note
this functionality requires that diguyGraphicsMesh::free_loader_memory() is not called during the build process.
int bdiGraphicsInitGraphicsAPI::use_shader_instancing

Experimental to support instancing.

Default is 0 (off).

int bdiGraphicsInitGraphicsAPI::instancing_respect_graphics_state_switch

Experimental to support instancing.

Instructs the instancing system to respect the graphics state switch of geometry when constructing instance groups. Setting value to 0 while not graphically correct results in increased performance

Default is 1 (on).


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