
|
|
This file was automatically generated from diguyGraphicsVertexFormats.h. Do not edit this file directly; the changes will be lost.Includes: diguy_constants.h | declspec_diguy.h
Contents:
Link against: libdiguy_graphics_api
enumeration diguyGraphicsVertexFormat
|
Description:typedef enum { DIGUY_GRAPHICS_VERTEX_FORMAT_UNKNOWN = -1, DIGUY_GRAPHICS_VERTEX_FORMAT_V3_N3_T2 = 0, DIGUY_GRAPHICS_VERTEX_FORMAT_V3_N3_T2_ARRAYS = 1, DIGUY_GRAPHICS_VERTEX_FORMAT_V3_N3_T2_I4F_W4 = 2, DIGUY_GRAPHICS_VERTEX_FORMAT_V3_N3_T2_I4F_W4_ARRAYS = 3, DIGUY_GRAPHICS_VERTEX_FORMAT_V3_N3_T2_T4_I4F_W4 = 4, DIGUY_GRAPHICS_VERTEX_FORMAT_V3_N3_T2_T4 = 5 } diguyGraphicsVertexFormat;
This enumeration lists types of vertex data formats DI-Guy may use. In general the same vertex format meshes will use cannot be the same for all meshes, as static meshes don't use indices and weights, but dynamic meshes (e.g., skinned meshes) do.
The data member use_array_format_for_vertex_buffer_data of the bdiGraphicsInitGraphicsAPI structure can be used to specify whether interleaved or array format is to be used.
See diguyGraphicsMesh::get_vertex_format().DIGUY_GRAPHICS_VERTEX_FORMAT_V3_N3_T2
The most basic vertex format DI-Guy supports: One vertex position, one normal, and one UV texture coordinate. These values are interleaved like so:
vnt vnt vnt vnt ...
Where 'v' represents three floats specifying vertex position, 'n' represents three floats specifying normal direction, and 't' represents two floats specifying texture indices.
This format is commonly used by static meshes. It cannot be used by skinned meshes.DIGUY_GRAPHICS_VERTEX_FORMAT_V3_N3_T2_ARRAYS
This vertex format puts all vertices first, followed by all normals, followed by all texture indices:
DIGUY_GRAPHICS_VERTEX_FORMAT_V3_N3_T2_I4F_W4This format is commonly used by static meshes. It cannot be used by skinned meshes.
Vertices for skinned meshes require more info; specifically, they need the indices of the links/bones that influence them and the weights of said influences. DI-Guy supports at most 4 link influences per vertex.
Indices are stored as floats instead of an int or unsigned int because data passed to shaders in attribute variables (at least for glsl shaders) needs to be in float form, not int.
These values are interleaved like so:
Where 'i' and 'w' each represent four floats specifying indices and weights, respectively.
This format is commonly used by skinned meshes. It could be used by static meshes, but doing so would waste memory.DIGUY_GRAPHICS_VERTEX_FORMAT_V3_N3_T2_I4F_W4_ARRAYS
Similar to DIGUY_GRAPHICS_VERTEX_FORMAT_V3_N3_T2_I4F_W4, but values are not interleaved:
This format is commonly used by skinned meshes. It could be used by static meshes, but doing so would waste memory.
enumeration diguyGraphicsIndexType
|
Description:typedef enum { DIGUY_GRAPHICS_INDEX_TYPE_UNKNOWN = -1, DIGUY_GRAPHICS_INDEX_TYPE_UINT = 0, DIGUY_GRAPHICS_INDEX_TYPE_USHORT = 1, DIGUY_GRAPHICS_INDEX_TYPE_D3D_WORD = 2 } diguyGraphicsIndexType;
This enumeration lists the types that indices stored in index buffer data might have.
The data member default_vertex_type of the bdiGraphicsInitGraphicsAPI structure can be used to specify which index type is needed.
Also see diguyGraphicsMesh::get_index_type().
Note that indices in index buffer data are different than the indices contained in vertex buffer data. Index buffer indices specify which vertices in vertex buffer data are used to create polygons in a mesh (e.g., for the first triangle, use vertices 0, 1, and 2), while indices stored in vertex buffer data specify which links affect the final position of the vertex.DIGUY_GRAPHICS_INDEX_TYPE_UINT
Index buffer data is stored as unsigned integers (4 bytes).DIGUY_GRAPHICS_INDEX_TYPE_USHORT
Index buffer data is stored as unsigned short integers (2 bytes).DIGUY_GRAPHICS_INDEX_TYPE_D3D_WORD
Index buffer data is stored as Windows WORD type. This is a 32 bit unsigned integer, so it's really the same as DIGUY_GRAPHICS_INDEX_TYPE_UINT.
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.