HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
cgltf.h File Reference
#include <stddef.h>
#include <stdint.h>
+ Include dependency graph for cgltf.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  cgltf_memory_options
 
struct  cgltf_file_options
 
struct  cgltf_options
 
struct  cgltf_extras
 
struct  cgltf_extension
 
struct  cgltf_buffer
 
struct  cgltf_meshopt_compression
 
struct  cgltf_buffer_view
 
struct  cgltf_accessor_sparse
 
struct  cgltf_accessor
 
struct  cgltf_attribute
 
struct  cgltf_image
 
struct  cgltf_sampler
 
struct  cgltf_texture
 
struct  cgltf_texture_transform
 
struct  cgltf_texture_view
 
struct  cgltf_pbr_metallic_roughness
 
struct  cgltf_pbr_specular_glossiness
 
struct  cgltf_clearcoat
 
struct  cgltf_transmission
 
struct  cgltf_ior
 
struct  cgltf_specular
 
struct  cgltf_volume
 
struct  cgltf_sheen
 
struct  cgltf_emissive_strength
 
struct  cgltf_iridescence
 
struct  cgltf_diffuse_transmission
 
struct  cgltf_anisotropy
 
struct  cgltf_dispersion
 
struct  cgltf_material
 
struct  cgltf_material_mapping
 
struct  cgltf_morph_target
 
struct  cgltf_draco_mesh_compression
 
struct  cgltf_mesh_gpu_instancing
 
struct  cgltf_primitive
 
struct  cgltf_mesh
 
struct  cgltf_skin
 
struct  cgltf_camera_perspective
 
struct  cgltf_camera_orthographic
 
struct  cgltf_camera
 
struct  cgltf_light
 
struct  cgltf_node
 
struct  cgltf_scene
 
struct  cgltf_animation_sampler
 
struct  cgltf_animation_channel
 
struct  cgltf_animation
 
struct  cgltf_material_variant
 
struct  cgltf_asset
 
struct  cgltf_data
 

Typedefs

typedef size_t cgltf_size
 
typedef long long int cgltf_ssize
 
typedef float cgltf_float
 
typedef int cgltf_int
 
typedef unsigned int cgltf_uint
 
typedef int cgltf_bool
 
typedef enum cgltf_file_type cgltf_file_type
 
typedef enum cgltf_result cgltf_result
 
typedef struct cgltf_memory_options cgltf_memory_options
 
typedef struct cgltf_file_options cgltf_file_options
 
typedef struct cgltf_options cgltf_options
 
typedef enum cgltf_buffer_view_type cgltf_buffer_view_type
 
typedef enum cgltf_attribute_type cgltf_attribute_type
 
typedef enum cgltf_component_type cgltf_component_type
 
typedef enum cgltf_type cgltf_type
 
typedef enum cgltf_primitive_type cgltf_primitive_type
 
typedef enum cgltf_alpha_mode cgltf_alpha_mode
 
typedef enum
cgltf_animation_path_type 
cgltf_animation_path_type
 
typedef enum
cgltf_interpolation_type 
cgltf_interpolation_type
 
typedef enum cgltf_camera_type cgltf_camera_type
 
typedef enum cgltf_light_type cgltf_light_type
 
typedef enum cgltf_data_free_method cgltf_data_free_method
 
typedef struct cgltf_extras cgltf_extras
 
typedef struct cgltf_extension cgltf_extension
 
typedef struct cgltf_buffer cgltf_buffer
 
typedef enum
cgltf_meshopt_compression_mode 
cgltf_meshopt_compression_mode
 
typedef enum
cgltf_meshopt_compression_filter 
cgltf_meshopt_compression_filter
 
typedef struct
cgltf_meshopt_compression 
cgltf_meshopt_compression
 
typedef struct cgltf_buffer_view cgltf_buffer_view
 
typedef struct
cgltf_accessor_sparse 
cgltf_accessor_sparse
 
typedef struct cgltf_accessor cgltf_accessor
 
typedef struct cgltf_attribute cgltf_attribute
 
typedef struct cgltf_image cgltf_image
 
typedef enum cgltf_filter_type cgltf_filter_type
 
typedef enum cgltf_wrap_mode cgltf_wrap_mode
 
typedef struct cgltf_sampler cgltf_sampler
 
typedef struct cgltf_texture cgltf_texture
 
typedef struct
cgltf_texture_transform 
cgltf_texture_transform
 
typedef struct cgltf_texture_view cgltf_texture_view
 
typedef struct
cgltf_pbr_metallic_roughness 
cgltf_pbr_metallic_roughness
 
typedef struct
cgltf_pbr_specular_glossiness 
cgltf_pbr_specular_glossiness
 
typedef struct cgltf_clearcoat cgltf_clearcoat
 
typedef struct cgltf_transmission cgltf_transmission
 
typedef struct cgltf_ior cgltf_ior
 
typedef struct cgltf_specular cgltf_specular
 
typedef struct cgltf_volume cgltf_volume
 
typedef struct cgltf_sheen cgltf_sheen
 
typedef struct
cgltf_emissive_strength 
cgltf_emissive_strength
 
typedef struct cgltf_iridescence cgltf_iridescence
 
typedef struct
cgltf_diffuse_transmission 
cgltf_diffuse_transmission
 
typedef struct cgltf_anisotropy cgltf_anisotropy
 
typedef struct cgltf_dispersion cgltf_dispersion
 
typedef struct cgltf_material cgltf_material
 
typedef struct
cgltf_material_mapping 
cgltf_material_mapping
 
typedef struct cgltf_morph_target cgltf_morph_target
 
typedef struct
cgltf_draco_mesh_compression 
cgltf_draco_mesh_compression
 
typedef struct
cgltf_mesh_gpu_instancing 
cgltf_mesh_gpu_instancing
 
typedef struct cgltf_primitive cgltf_primitive
 
typedef struct cgltf_mesh cgltf_mesh
 
typedef struct cgltf_node cgltf_node
 
typedef struct cgltf_skin cgltf_skin
 
typedef struct
cgltf_camera_perspective 
cgltf_camera_perspective
 
typedef struct
cgltf_camera_orthographic 
cgltf_camera_orthographic
 
typedef struct cgltf_camera cgltf_camera
 
typedef struct cgltf_light cgltf_light
 
typedef struct cgltf_scene cgltf_scene
 
typedef struct
cgltf_animation_sampler 
cgltf_animation_sampler
 
typedef struct
cgltf_animation_channel 
cgltf_animation_channel
 
typedef struct cgltf_animation cgltf_animation
 
typedef struct
cgltf_material_variant 
cgltf_material_variant
 
typedef struct cgltf_asset cgltf_asset
 
typedef struct cgltf_data cgltf_data
 

Enumerations

enum  cgltf_file_type {
  cgltf_file_type_invalid, cgltf_file_type_gltf, cgltf_file_type_glb, cgltf_file_type_max_enum,
  cgltf_file_type_invalid, cgltf_file_type_gltf, cgltf_file_type_glb, cgltf_file_type_max_enum
}
 
enum  cgltf_result {
  cgltf_result_success, cgltf_result_data_too_short, cgltf_result_unknown_format, cgltf_result_invalid_json,
  cgltf_result_invalid_gltf, cgltf_result_invalid_options, cgltf_result_file_not_found, cgltf_result_io_error,
  cgltf_result_out_of_memory, cgltf_result_legacy_gltf, cgltf_result_max_enum, cgltf_result_success,
  cgltf_result_data_too_short, cgltf_result_unknown_format, cgltf_result_invalid_json, cgltf_result_invalid_gltf,
  cgltf_result_invalid_options, cgltf_result_file_not_found, cgltf_result_io_error, cgltf_result_out_of_memory,
  cgltf_result_legacy_gltf, cgltf_result_max_enum
}
 
enum  cgltf_buffer_view_type {
  cgltf_buffer_view_type_invalid, cgltf_buffer_view_type_indices, cgltf_buffer_view_type_vertices, cgltf_buffer_view_type_max_enum,
  cgltf_buffer_view_type_invalid, cgltf_buffer_view_type_indices, cgltf_buffer_view_type_vertices, cgltf_buffer_view_type_max_enum
}
 
enum  cgltf_attribute_type {
  cgltf_attribute_type_invalid, cgltf_attribute_type_position, cgltf_attribute_type_normal, cgltf_attribute_type_tangent,
  cgltf_attribute_type_texcoord, cgltf_attribute_type_color, cgltf_attribute_type_joints, cgltf_attribute_type_weights,
  cgltf_attribute_type_custom, cgltf_attribute_type_max_enum, cgltf_attribute_type_invalid, cgltf_attribute_type_position,
  cgltf_attribute_type_normal, cgltf_attribute_type_tangent, cgltf_attribute_type_texcoord, cgltf_attribute_type_color,
  cgltf_attribute_type_joints, cgltf_attribute_type_weights, cgltf_attribute_type_custom, cgltf_attribute_type_max_enum
}
 
enum  cgltf_component_type {
  cgltf_component_type_invalid, cgltf_component_type_r_8, cgltf_component_type_r_8u, cgltf_component_type_r_16,
  cgltf_component_type_r_16u, cgltf_component_type_r_32u, cgltf_component_type_r_32f, cgltf_component_type_max_enum,
  cgltf_component_type_invalid, cgltf_component_type_r_8, cgltf_component_type_r_8u, cgltf_component_type_r_16,
  cgltf_component_type_r_16u, cgltf_component_type_r_32u, cgltf_component_type_r_32f, cgltf_component_type_max_enum
}
 
enum  cgltf_type {
  cgltf_type_invalid, cgltf_type_scalar, cgltf_type_vec2, cgltf_type_vec3,
  cgltf_type_vec4, cgltf_type_mat2, cgltf_type_mat3, cgltf_type_mat4,
  cgltf_type_max_enum, cgltf_type_invalid, cgltf_type_scalar, cgltf_type_vec2,
  cgltf_type_vec3, cgltf_type_vec4, cgltf_type_mat2, cgltf_type_mat3,
  cgltf_type_mat4, cgltf_type_max_enum
}
 
enum  cgltf_primitive_type {
  cgltf_primitive_type_invalid, cgltf_primitive_type_points, cgltf_primitive_type_lines, cgltf_primitive_type_line_loop,
  cgltf_primitive_type_line_strip, cgltf_primitive_type_triangles, cgltf_primitive_type_triangle_strip, cgltf_primitive_type_triangle_fan,
  cgltf_primitive_type_max_enum, cgltf_primitive_type_points, cgltf_primitive_type_lines, cgltf_primitive_type_line_loop,
  cgltf_primitive_type_line_strip, cgltf_primitive_type_triangles, cgltf_primitive_type_triangle_strip, cgltf_primitive_type_triangle_fan,
  cgltf_primitive_type_max_enum
}
 
enum  cgltf_alpha_mode {
  cgltf_alpha_mode_opaque, cgltf_alpha_mode_mask, cgltf_alpha_mode_blend, cgltf_alpha_mode_max_enum,
  cgltf_alpha_mode_opaque, cgltf_alpha_mode_mask, cgltf_alpha_mode_blend, cgltf_alpha_mode_max_enum
}
 
enum  cgltf_animation_path_type {
  cgltf_animation_path_type_invalid, cgltf_animation_path_type_translation, cgltf_animation_path_type_rotation, cgltf_animation_path_type_scale,
  cgltf_animation_path_type_weights, cgltf_animation_path_type_max_enum, cgltf_animation_path_type_invalid, cgltf_animation_path_type_translation,
  cgltf_animation_path_type_rotation, cgltf_animation_path_type_scale, cgltf_animation_path_type_weights, cgltf_animation_path_type_max_enum
}
 
enum  cgltf_interpolation_type {
  cgltf_interpolation_type_linear, cgltf_interpolation_type_step, cgltf_interpolation_type_cubic_spline, cgltf_interpolation_type_max_enum,
  cgltf_interpolation_type_linear, cgltf_interpolation_type_step, cgltf_interpolation_type_cubic_spline, cgltf_interpolation_type_max_enum
}
 
enum  cgltf_camera_type {
  cgltf_camera_type_invalid, cgltf_camera_type_perspective, cgltf_camera_type_orthographic, cgltf_camera_type_max_enum,
  cgltf_camera_type_invalid, cgltf_camera_type_perspective, cgltf_camera_type_orthographic, cgltf_camera_type_max_enum
}
 
enum  cgltf_light_type {
  cgltf_light_type_invalid, cgltf_light_type_directional, cgltf_light_type_point, cgltf_light_type_spot,
  cgltf_light_type_max_enum, cgltf_light_type_invalid, cgltf_light_type_directional, cgltf_light_type_point,
  cgltf_light_type_spot, cgltf_light_type_max_enum
}
 
enum  cgltf_data_free_method {
  cgltf_data_free_method_none, cgltf_data_free_method_file_release, cgltf_data_free_method_memory_free, cgltf_data_free_method_max_enum,
  cgltf_data_free_method_none, cgltf_data_free_method_file_release, cgltf_data_free_method_memory_free, cgltf_data_free_method_max_enum
}
 
enum  cgltf_meshopt_compression_mode {
  cgltf_meshopt_compression_mode_invalid, cgltf_meshopt_compression_mode_attributes, cgltf_meshopt_compression_mode_triangles, cgltf_meshopt_compression_mode_indices,
  cgltf_meshopt_compression_mode_max_enum, cgltf_meshopt_compression_mode_invalid, cgltf_meshopt_compression_mode_attributes, cgltf_meshopt_compression_mode_triangles,
  cgltf_meshopt_compression_mode_indices, cgltf_meshopt_compression_mode_max_enum
}
 
enum  cgltf_meshopt_compression_filter {
  cgltf_meshopt_compression_filter_none, cgltf_meshopt_compression_filter_octahedral, cgltf_meshopt_compression_filter_quaternion, cgltf_meshopt_compression_filter_exponential,
  cgltf_meshopt_compression_filter_color, cgltf_meshopt_compression_filter_max_enum, cgltf_meshopt_compression_filter_none, cgltf_meshopt_compression_filter_octahedral,
  cgltf_meshopt_compression_filter_quaternion, cgltf_meshopt_compression_filter_exponential, cgltf_meshopt_compression_filter_max_enum
}
 
enum  cgltf_filter_type {
  cgltf_filter_type_undefined = 0, cgltf_filter_type_nearest = 9728, cgltf_filter_type_linear = 9729, cgltf_filter_type_nearest_mipmap_nearest = 9984,
  cgltf_filter_type_linear_mipmap_nearest = 9985, cgltf_filter_type_nearest_mipmap_linear = 9986, cgltf_filter_type_linear_mipmap_linear = 9987
}
 
enum  cgltf_wrap_mode { cgltf_wrap_mode_clamp_to_edge = 33071, cgltf_wrap_mode_mirrored_repeat = 33648, cgltf_wrap_mode_repeat = 10497 }
 

Functions

cgltf_result cgltf_parse (const cgltf_options *options, const void *data, cgltf_size size, cgltf_data **out_data)
 
cgltf_result cgltf_parse_file (const cgltf_options *options, const char *path, cgltf_data **out_data)
 
cgltf_result cgltf_load_buffers (const cgltf_options *options, cgltf_data *data, const char *gltf_path)
 
cgltf_result cgltf_load_buffer_base64 (const cgltf_options *options, cgltf_size size, const char *base64, void **out_data)
 
cgltf_size cgltf_decode_string (char *string)
 
cgltf_size cgltf_decode_uri (char *uri)
 
cgltf_result cgltf_validate (cgltf_data *data)
 
void cgltf_free (cgltf_data *data)
 
void cgltf_node_transform_local (const cgltf_node *node, cgltf_float *out_matrix)
 
void cgltf_node_transform_world (const cgltf_node *node, cgltf_float *out_matrix)
 
const uint8_t * cgltf_buffer_view_data (const cgltf_buffer_view *view)
 
const cgltf_accessorcgltf_find_accessor (const cgltf_primitive *prim, cgltf_attribute_type type, cgltf_int index)
 
cgltf_bool cgltf_accessor_read_float (const cgltf_accessor *accessor, cgltf_size index, cgltf_float *out, cgltf_size element_size)
 
cgltf_bool cgltf_accessor_read_uint (const cgltf_accessor *accessor, cgltf_size index, cgltf_uint *out, cgltf_size element_size)
 
cgltf_size cgltf_accessor_read_index (const cgltf_accessor *accessor, cgltf_size index)
 
cgltf_size cgltf_num_components (cgltf_type type)
 
cgltf_size cgltf_component_size (cgltf_component_type component_type)
 
cgltf_size cgltf_calc_size (cgltf_type type, cgltf_component_type component_type)
 
cgltf_size cgltf_accessor_unpack_floats (const cgltf_accessor *accessor, cgltf_float *out, cgltf_size float_count)
 
cgltf_size cgltf_accessor_unpack_indices (const cgltf_accessor *accessor, void *out, cgltf_size out_component_size, cgltf_size index_count)
 
cgltf_result cgltf_copy_extras_json (const cgltf_data *data, const cgltf_extras *extras, char *dest, cgltf_size *dest_size)
 
cgltf_size cgltf_mesh_index (const cgltf_data *data, const cgltf_mesh *object)
 
cgltf_size cgltf_material_index (const cgltf_data *data, const cgltf_material *object)
 
cgltf_size cgltf_accessor_index (const cgltf_data *data, const cgltf_accessor *object)
 
cgltf_size cgltf_buffer_view_index (const cgltf_data *data, const cgltf_buffer_view *object)
 
cgltf_size cgltf_buffer_index (const cgltf_data *data, const cgltf_buffer *object)
 
cgltf_size cgltf_image_index (const cgltf_data *data, const cgltf_image *object)
 
cgltf_size cgltf_texture_index (const cgltf_data *data, const cgltf_texture *object)
 
cgltf_size cgltf_sampler_index (const cgltf_data *data, const cgltf_sampler *object)
 
cgltf_size cgltf_skin_index (const cgltf_data *data, const cgltf_skin *object)
 
cgltf_size cgltf_camera_index (const cgltf_data *data, const cgltf_camera *object)
 
cgltf_size cgltf_light_index (const cgltf_data *data, const cgltf_light *object)
 
cgltf_size cgltf_node_index (const cgltf_data *data, const cgltf_node *object)
 
cgltf_size cgltf_scene_index (const cgltf_data *data, const cgltf_scene *object)
 
cgltf_size cgltf_animation_index (const cgltf_data *data, const cgltf_animation *object)
 
cgltf_size cgltf_animation_sampler_index (const cgltf_animation *animation, const cgltf_animation_sampler *object)
 
cgltf_size cgltf_animation_channel_index (const cgltf_animation *animation, const cgltf_animation_channel *object)
 

Typedef Documentation

typedef struct cgltf_asset cgltf_asset
typedef int cgltf_bool

Definition at line 109 of file cgltf.h.

typedef struct cgltf_buffer cgltf_buffer
typedef struct cgltf_camera cgltf_camera
typedef struct cgltf_data cgltf_data
typedef struct cgltf_extras cgltf_extras
typedef float cgltf_float

Definition at line 106 of file cgltf.h.

typedef struct cgltf_image cgltf_image
typedef int cgltf_int

Definition at line 107 of file cgltf.h.

typedef struct cgltf_ior cgltf_ior
typedef struct cgltf_light cgltf_light
typedef struct cgltf_mesh cgltf_mesh
typedef struct cgltf_node cgltf_node

Definition at line 636 of file cgltf.h.

typedef struct cgltf_options cgltf_options
typedef enum cgltf_result cgltf_result
typedef struct cgltf_sampler cgltf_sampler
typedef struct cgltf_scene cgltf_scene
typedef struct cgltf_sheen cgltf_sheen
typedef size_t cgltf_size

cgltf - a single-file glTF 2.0 parser written in C99.

Version: 1.15

Website: https://github.com/jkuhlmann/cgltf

Distributed under the MIT License, see notice at the end of this file.

Building: Include this file where you need the struct and function declarations. Have exactly one source file where you define CGLTF_IMPLEMENTATION before including this file to get the function definitions.

Reference: cgltf_result cgltf_parse(const cgltf_options*, const void*, cgltf_size, cgltf_data**) parses both glTF and GLB data. If this function returns cgltf_result_success, you have to call cgltf_free() on the created cgltf_data* variable. Note that contents of external files for buffers and images are not automatically loaded. You'll need to read these files yourself using URIs in the cgltf_data structure.

cgltf_options is the struct passed to cgltf_parse() to control parts of the parsing process. You can use it to force the file type and provide memory allocation as well as file operation callbacks. Should be zero-initialized to trigger default behavior.

cgltf_data is the struct allocated and filled by cgltf_parse(). It generally mirrors the glTF format as described by the spec (see https://github.com/KhronosGroup/glTF/tree/master/specification/2.0).

void cgltf_free(cgltf_data*) frees the allocated cgltf_data variable.

cgltf_result cgltf_load_buffers(const cgltf_options*, cgltf_data*, const char* gltf_path) can be optionally called to open and read buffer files using the FILE* APIs. The gltf_path argument is the path to the original glTF file, which allows the parser to resolve the path to buffer files.

cgltf_result cgltf_load_buffer_base64(const cgltf_options* options, cgltf_size size, const char* base64, void** out_data) decodes base64-encoded data content. Used internally by cgltf_load_buffers(). This is useful when decoding data URIs in images.

cgltf_result cgltf_parse_file(const cgltf_options* options, const char* path, cgltf_data** out_data) can be used to open the given file using FILE* APIs and parse the data using cgltf_parse().

cgltf_result cgltf_validate(cgltf_data*) can be used to do additional checks to make sure the parsed glTF data is valid.

cgltf_node_transform_local converts the translation / rotation / scale properties of a node into a mat4.

cgltf_node_transform_world calls cgltf_node_transform_local on every ancestor in order to compute the root-to-node transformation.

cgltf_accessor_unpack_floats reads in the data from an accessor, applies sparse data (if any), and converts them to floating point. Assumes that cgltf_load_buffers has already been called. By passing null for the output pointer, users can find out how many floats are required in the output buffer.

cgltf_accessor_unpack_indices reads in the index data from an accessor. Assumes that cgltf_load_buffers has already been called. By passing null for the output pointer, users can find out how many indices are required in the output buffer. Returns 0 if the accessor is sparse or if the output component size is less than the accessor's component size.

cgltf_num_components is a tiny utility that tells you the dimensionality of a certain accessor type. This can be used before cgltf_accessor_unpack_floats to help allocate the necessary amount of memory. cgltf_component_size and cgltf_calc_size exist for similar purposes.

cgltf_accessor_read_float reads a certain element from a non-sparse accessor and converts it to floating point, assuming that cgltf_load_buffers has already been called. The passed-in element size is the number of floats in the output buffer, which should be in the range [1, 16]. Returns false if the passed-in element_size is too small, or if the accessor is sparse.

cgltf_accessor_read_uint is similar to its floating-point counterpart, but limited to reading vector types and does not support matrix types. The passed-in element size is the number of uints in the output buffer, which should be in the range [1, 4]. Returns false if the passed-in element_size is too small, or if the accessor is sparse.

cgltf_accessor_read_index is similar to its floating-point counterpart, but it returns size_t and only works with single-component data types.

cgltf_copy_extras_json allows users to retrieve the "extras" data that can be attached to many glTF objects (which can be arbitrary JSON data). This is a legacy function, consider using cgltf_extras::data directly instead. You can parse this data using your own JSON parser or, if you've included the cgltf implementation using the integrated JSMN JSON parser.

Definition at line 104 of file cgltf.h.

typedef struct cgltf_skin cgltf_skin
typedef long long int cgltf_ssize

Definition at line 105 of file cgltf.h.

typedef struct cgltf_texture cgltf_texture
typedef enum cgltf_type cgltf_type
typedef unsigned int cgltf_uint

Definition at line 108 of file cgltf.h.

typedef struct cgltf_volume cgltf_volume

Enumeration Type Documentation

Enumerator
cgltf_alpha_mode_opaque 
cgltf_alpha_mode_mask 
cgltf_alpha_mode_blend 
cgltf_alpha_mode_max_enum 
cgltf_alpha_mode_opaque 
cgltf_alpha_mode_mask 
cgltf_alpha_mode_blend 
cgltf_alpha_mode_max_enum 

Definition at line 216 of file cgltf.h.

Enumerator
cgltf_animation_path_type_invalid 
cgltf_animation_path_type_translation 
cgltf_animation_path_type_rotation 
cgltf_animation_path_type_scale 
cgltf_animation_path_type_weights 
cgltf_animation_path_type_max_enum 
cgltf_animation_path_type_invalid 
cgltf_animation_path_type_translation 
cgltf_animation_path_type_rotation 
cgltf_animation_path_type_scale 
cgltf_animation_path_type_weights 
cgltf_animation_path_type_max_enum 

Definition at line 224 of file cgltf.h.

Enumerator
cgltf_attribute_type_invalid 
cgltf_attribute_type_position 
cgltf_attribute_type_normal 
cgltf_attribute_type_tangent 
cgltf_attribute_type_texcoord 
cgltf_attribute_type_color 
cgltf_attribute_type_joints 
cgltf_attribute_type_weights 
cgltf_attribute_type_custom 
cgltf_attribute_type_max_enum 
cgltf_attribute_type_invalid 
cgltf_attribute_type_position 
cgltf_attribute_type_normal 
cgltf_attribute_type_tangent 
cgltf_attribute_type_texcoord 
cgltf_attribute_type_color 
cgltf_attribute_type_joints 
cgltf_attribute_type_weights 
cgltf_attribute_type_custom 
cgltf_attribute_type_max_enum 

Definition at line 164 of file cgltf.h.

Enumerator
cgltf_buffer_view_type_invalid 
cgltf_buffer_view_type_indices 
cgltf_buffer_view_type_vertices 
cgltf_buffer_view_type_max_enum 
cgltf_buffer_view_type_invalid 
cgltf_buffer_view_type_indices 
cgltf_buffer_view_type_vertices 
cgltf_buffer_view_type_max_enum 

Definition at line 156 of file cgltf.h.

Enumerator
cgltf_camera_type_invalid 
cgltf_camera_type_perspective 
cgltf_camera_type_orthographic 
cgltf_camera_type_max_enum 
cgltf_camera_type_invalid 
cgltf_camera_type_perspective 
cgltf_camera_type_orthographic 
cgltf_camera_type_max_enum 

Definition at line 240 of file cgltf.h.

Enumerator
cgltf_component_type_invalid 
cgltf_component_type_r_8 
cgltf_component_type_r_8u 
cgltf_component_type_r_16 
cgltf_component_type_r_16u 
cgltf_component_type_r_32u 
cgltf_component_type_r_32f 
cgltf_component_type_max_enum 
cgltf_component_type_invalid 
cgltf_component_type_r_8 
cgltf_component_type_r_8u 
cgltf_component_type_r_16 
cgltf_component_type_r_16u 
cgltf_component_type_r_32u 
cgltf_component_type_r_32f 
cgltf_component_type_max_enum 

Definition at line 178 of file cgltf.h.

Enumerator
cgltf_data_free_method_none 
cgltf_data_free_method_file_release 
cgltf_data_free_method_memory_free 
cgltf_data_free_method_max_enum 
cgltf_data_free_method_none 
cgltf_data_free_method_file_release 
cgltf_data_free_method_memory_free 
cgltf_data_free_method_max_enum 

Definition at line 255 of file cgltf.h.

Enumerator
cgltf_file_type_invalid 
cgltf_file_type_gltf 
cgltf_file_type_glb 
cgltf_file_type_max_enum 
cgltf_file_type_invalid 
cgltf_file_type_gltf 
cgltf_file_type_glb 
cgltf_file_type_max_enum 

Definition at line 111 of file cgltf.h.

Enumerator
cgltf_filter_type_undefined 
cgltf_filter_type_nearest 
cgltf_filter_type_linear 
cgltf_filter_type_nearest_mipmap_nearest 
cgltf_filter_type_linear_mipmap_nearest 
cgltf_filter_type_nearest_mipmap_linear 
cgltf_filter_type_linear_mipmap_linear 

Definition at line 381 of file cgltf.h.

Enumerator
cgltf_interpolation_type_linear 
cgltf_interpolation_type_step 
cgltf_interpolation_type_cubic_spline 
cgltf_interpolation_type_max_enum 
cgltf_interpolation_type_linear 
cgltf_interpolation_type_step 
cgltf_interpolation_type_cubic_spline 
cgltf_interpolation_type_max_enum 

Definition at line 233 of file cgltf.h.

Enumerator
cgltf_light_type_invalid 
cgltf_light_type_directional 
cgltf_light_type_point 
cgltf_light_type_spot 
cgltf_light_type_max_enum 
cgltf_light_type_invalid 
cgltf_light_type_directional 
cgltf_light_type_point 
cgltf_light_type_spot 
cgltf_light_type_max_enum 

Definition at line 247 of file cgltf.h.

Enumerator
cgltf_meshopt_compression_filter_none 
cgltf_meshopt_compression_filter_octahedral 
cgltf_meshopt_compression_filter_quaternion 
cgltf_meshopt_compression_filter_exponential 
cgltf_meshopt_compression_filter_color 
cgltf_meshopt_compression_filter_max_enum 
cgltf_meshopt_compression_filter_none 
cgltf_meshopt_compression_filter_octahedral 
cgltf_meshopt_compression_filter_quaternion 
cgltf_meshopt_compression_filter_exponential 
cgltf_meshopt_compression_filter_max_enum 

Definition at line 294 of file cgltf.h.

Enumerator
cgltf_meshopt_compression_mode_invalid 
cgltf_meshopt_compression_mode_attributes 
cgltf_meshopt_compression_mode_triangles 
cgltf_meshopt_compression_mode_indices 
cgltf_meshopt_compression_mode_max_enum 
cgltf_meshopt_compression_mode_invalid 
cgltf_meshopt_compression_mode_attributes 
cgltf_meshopt_compression_mode_triangles 
cgltf_meshopt_compression_mode_indices 
cgltf_meshopt_compression_mode_max_enum 

Definition at line 286 of file cgltf.h.

Enumerator
cgltf_primitive_type_invalid 
cgltf_primitive_type_points 
cgltf_primitive_type_lines 
cgltf_primitive_type_line_loop 
cgltf_primitive_type_line_strip 
cgltf_primitive_type_triangles 
cgltf_primitive_type_triangle_strip 
cgltf_primitive_type_triangle_fan 
cgltf_primitive_type_max_enum 
cgltf_primitive_type_points 
cgltf_primitive_type_lines 
cgltf_primitive_type_line_loop 
cgltf_primitive_type_line_strip 
cgltf_primitive_type_triangles 
cgltf_primitive_type_triangle_strip 
cgltf_primitive_type_triangle_fan 
cgltf_primitive_type_max_enum 

Definition at line 203 of file cgltf.h.

Enumerator
cgltf_result_success 
cgltf_result_data_too_short 
cgltf_result_unknown_format 
cgltf_result_invalid_json 
cgltf_result_invalid_gltf 
cgltf_result_invalid_options 
cgltf_result_file_not_found 
cgltf_result_io_error 
cgltf_result_out_of_memory 
cgltf_result_legacy_gltf 
cgltf_result_max_enum 
cgltf_result_success 
cgltf_result_data_too_short 
cgltf_result_unknown_format 
cgltf_result_invalid_json 
cgltf_result_invalid_gltf 
cgltf_result_invalid_options 
cgltf_result_file_not_found 
cgltf_result_io_error 
cgltf_result_out_of_memory 
cgltf_result_legacy_gltf 
cgltf_result_max_enum 

Definition at line 119 of file cgltf.h.

enum cgltf_type
Enumerator
cgltf_type_invalid 
cgltf_type_scalar 
cgltf_type_vec2 
cgltf_type_vec3 
cgltf_type_vec4 
cgltf_type_mat2 
cgltf_type_mat3 
cgltf_type_mat4 
cgltf_type_max_enum 
cgltf_type_invalid 
cgltf_type_scalar 
cgltf_type_vec2 
cgltf_type_vec3 
cgltf_type_vec4 
cgltf_type_mat2 
cgltf_type_mat3 
cgltf_type_mat4 
cgltf_type_max_enum 

Definition at line 190 of file cgltf.h.

Enumerator
cgltf_wrap_mode_clamp_to_edge 
cgltf_wrap_mode_mirrored_repeat 
cgltf_wrap_mode_repeat 

Definition at line 391 of file cgltf.h.

Function Documentation

cgltf_size cgltf_accessor_index ( const cgltf_data data,
const cgltf_accessor object 
)
cgltf_bool cgltf_accessor_read_float ( const cgltf_accessor accessor,
cgltf_size  index,
cgltf_float out,
cgltf_size  element_size 
)
cgltf_size cgltf_accessor_read_index ( const cgltf_accessor accessor,
cgltf_size  index 
)
cgltf_bool cgltf_accessor_read_uint ( const cgltf_accessor accessor,
cgltf_size  index,
cgltf_uint out,
cgltf_size  element_size 
)
cgltf_size cgltf_accessor_unpack_floats ( const cgltf_accessor accessor,
cgltf_float out,
cgltf_size  float_count 
)
cgltf_size cgltf_accessor_unpack_indices ( const cgltf_accessor accessor,
void out,
cgltf_size  out_component_size,
cgltf_size  index_count 
)
cgltf_size cgltf_animation_channel_index ( const cgltf_animation animation,
const cgltf_animation_channel object 
)
cgltf_size cgltf_animation_index ( const cgltf_data data,
const cgltf_animation object 
)
cgltf_size cgltf_animation_sampler_index ( const cgltf_animation animation,
const cgltf_animation_sampler object 
)
cgltf_size cgltf_buffer_index ( const cgltf_data data,
const cgltf_buffer object 
)
const uint8_t* cgltf_buffer_view_data ( const cgltf_buffer_view view)
cgltf_size cgltf_buffer_view_index ( const cgltf_data data,
const cgltf_buffer_view object 
)
cgltf_size cgltf_calc_size ( cgltf_type  type,
cgltf_component_type  component_type 
)
cgltf_size cgltf_camera_index ( const cgltf_data data,
const cgltf_camera object 
)
cgltf_size cgltf_component_size ( cgltf_component_type  component_type)
cgltf_result cgltf_copy_extras_json ( const cgltf_data data,
const cgltf_extras extras,
char *  dest,
cgltf_size dest_size 
)
cgltf_size cgltf_decode_string ( char *  string)
cgltf_size cgltf_decode_uri ( char *  uri)
const cgltf_accessor* cgltf_find_accessor ( const cgltf_primitive prim,
cgltf_attribute_type  type,
cgltf_int  index 
)
void cgltf_free ( cgltf_data data)
cgltf_size cgltf_image_index ( const cgltf_data data,
const cgltf_image object 
)
cgltf_size cgltf_light_index ( const cgltf_data data,
const cgltf_light object 
)
cgltf_result cgltf_load_buffer_base64 ( const cgltf_options options,
cgltf_size  size,
const char *  base64,
void **  out_data 
)
cgltf_result cgltf_load_buffers ( const cgltf_options options,
cgltf_data data,
const char *  gltf_path 
)
cgltf_size cgltf_material_index ( const cgltf_data data,
const cgltf_material object 
)
cgltf_size cgltf_mesh_index ( const cgltf_data data,
const cgltf_mesh object 
)
cgltf_size cgltf_node_index ( const cgltf_data data,
const cgltf_node object 
)
void cgltf_node_transform_local ( const cgltf_node node,
cgltf_float out_matrix 
)
void cgltf_node_transform_world ( const cgltf_node node,
cgltf_float out_matrix 
)
cgltf_size cgltf_num_components ( cgltf_type  type)
cgltf_result cgltf_parse ( const cgltf_options options,
const void data,
cgltf_size  size,
cgltf_data **  out_data 
)
cgltf_result cgltf_parse_file ( const cgltf_options options,
const char *  path,
cgltf_data **  out_data 
)
cgltf_size cgltf_sampler_index ( const cgltf_data data,
const cgltf_sampler object 
)
cgltf_size cgltf_scene_index ( const cgltf_data data,
const cgltf_scene object 
)
cgltf_size cgltf_skin_index ( const cgltf_data data,
const cgltf_skin object 
)
cgltf_size cgltf_texture_index ( const cgltf_data data,
const cgltf_texture object 
)
cgltf_result cgltf_validate ( cgltf_data data)