DI-Guy Graphics Init Structure, Graphics API

Generated from bdiGraphicsInitGraphicsAPI.h

DI-Guy API Version 12.5.1

This file was automatically generated from bdigraphics/bdiGraphicsInitGraphicsAPI.h. Do not edit this file directly; the changes will be lost.
Includes: diguyGraphicsVertexFormats.h

Contents:

Alphabetical Index

struct bdiGraphicsInitGraphicsAPI

typedef struct bdiGraphicsInitGraphicsAPI
{
    int use_array_format_for_vertex_buffer_data;
    diguyGraphicsIndexType default_vertex_type;
    int use_shaders;
    diguyGraphicsShaderLanguage shader_language;
    int transpose_shader_matrices;
    bool use_4x3_shader_matrices;
    int use_cached_optimized_geometry;
    int use_cached_compressed_textures;
    
    int use_sRGB_corrected_textures;
    
    int use_linear_traversal_draw;
    int characters_have_world_space_triangle_query;
    int scene_objects_have_world_space_triangle_query;
} bdiGraphicsInitGraphicsAPI;

variable bdiGraphicsInitGraphicsAPI::use_array_format_for_vertex_buffer_data

int use_array_format_for_vertex_buffer_data;
Description:

If vertex buffer data is not in array form, data will be packed in interleaved form like so:

vnt vnt vnt vnt vnt vnt

Where 'v' represents three floats specifying vertex position, 'n' represents three floats specifying normal direction, and 't' represents two or more floats specifying texture indices.

If vertex buffer data is in array form, data will be packed like:

vvvvvv nnnnnn tttttt

Where 'v' , 'n', and 't' have the same meanings as above.

The default is 0, do not use array format.

See the documentation for diguyGraphicsVertexFormat for more information.

variable bdiGraphicsInitGraphicsAPI::default_vertex_type

diguyGraphicsIndexType default_vertex_type;
Description:

This specifies the data type that indices in index buffer data should use.

The default is DIGUY_GRAPHICS_INDEX_TYPE_USHORT.

variable bdiGraphicsInitGraphicsAPI::use_shaders

int use_shaders;
Description:

Determines whether shaders should be loaded and compiled.

Note the DI-Guy skinned appearances depend on shaders being available and enabled.

Possible values are:

0don't use shaders
1do use shaders
Default is 1.

variable bdiGraphicsInitGraphicsAPI::shader_language

diguyGraphicsShaderLanguage shader_language;
Description:

Sets the shader language for loading shaders.

DIGUY_GRAPHICS_SHADER_LANGUAGE_GLSL DIGUY_GRAPHICS_SHADER_LANGUAGE_HLSL
Default is DIGUY_GRAPHICS_SHADER_LANGUAGE_GLSL

variable bdiGraphicsInitGraphicsAPI::transpose_shader_matrices

int transpose_shader_matrices;
Description:

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:

Set to 1 (the default) to transpose, 0 to not.

Note: Change in 12.5

Open Scene Graph uses the transposed form. OpenGL the transpose is done by the video card.

variable bdiGraphicsInitGraphicsAPI::use_4x3_shader_matrices

bool use_4x3_shader_matrices;
Description:

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:

Set to 1 (the default) to send the more efficient structures.

variable bdiGraphicsInitGraphicsAPI::use_cached_optimized_geometry

int use_cached_optimized_geometry;
Description:

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.

variable bdiGraphicsInitGraphicsAPI::use_cached_compressed_textures

int use_cached_compressed_textures;
Description:

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.

variable bdiGraphicsInitGraphicsAPI::use_sRGB_corrected_textures

int use_sRGB_corrected_textures;
Description:

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.

variable bdiGraphicsInitGraphicsAPI::use_linear_traversal_draw

int use_linear_traversal_draw;
Description:

Sets whether DI-Guy draws characters by traversing links in a recursive tree traversal, or in a flat linear traversal. Linear drawing allows for easier culling and some additional performance on simpler characters. Linear drawing is required for bump map support.

Versions of DI-Guy prior to version 11 always used a recursive traversal.

Default is 1.

variable bdiGraphicsInitGraphicsAPI::characters_have_world_space_triangle_query

int characters_have_world_space_triangle_query;
Description:

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.

variable bdiGraphicsInitGraphicsAPI::scene_objects_have_world_space_triangle_query

int scene_objects_have_world_space_triangle_query;

Alphabetical Index




Copyright (C) 1992-2012 Boston Dynamics

ALL RIGHTS RESERVED.

These coded instructions, statements, and computer programs contain unpublished proprietary information of Boston Dynamics and are protected by Copyright Laws of the United States. They may not be used, duplicated, or disclosed in any form, in whole or in part, without the prior written consent from Boston Dynamics.

RESTRICTED RIGHTS LEGEND

Use, duplication, or disclosure by the government is subject to restrictions as set forth in FAR 52.227.19(c)(2) or subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Sofware clause at DFARS 252.227-7013 and/or in similar or successor clauses in the FAR, or the DOD or NASA FAR Supplement, or to subparagraphs (c)(1) and (c)(2) of the Commercial Computer Software--Restricted Rights at 48 CFR 52.227-19, as applicable. Unpublished-rights reserved under the Copyright Laws of the United States.

Contractor/Manufacturer is:

Boston Dynamics/78 Fourth Avenue/Waltham MA 02451.