package vendor:cgltf
⌘K
Ctrl+K
or
/
Index
Types (63)
- accessor
- accessor_sparse
- alpha_mode
- animation
- animation_channel
- animation_path_type
- animation_sampler
- anisotropy
- asset
- attribute
- attribute_type
- buffer
- buffer_view
- buffer_view_type
- camera
- camera_orthographic
- camera_perspective
- camera_type
- clearcoat
- component_type
- data
- data_free_method
- dispersion
- draco_mesh_compression
- emissive_strength
- extension
- extras_t
- file_options
- file_type
- image
- interpolation_type
- ior
- iridescence
- light
- light_type
- material
- material_mapping
- material_variant
- memory_options
- mesh
- mesh_gpu_instancing
- meshopt_compression
- meshopt_compression_filter
- meshopt_compression_mode
- morph_target
- node
- options
- pbr_metallic_roughness
- pbr_specular_glossiness
- primitive
- primitive_type
- result
- sampler
- scene
- sheen
- skin
- specular
- texture
- texture_transform
- texture_view
- transmission
- type
- volume
Constants (0)
This section is empty.
Variables (0)
This section is empty.
Procedures (38)
- accessor_index
- accessor_read_float
- accessor_read_index
- accessor_read_uint
- accessor_unpack_floats
- accessor_unpack_indices
- animation_channel_index
- animation_index
- animation_sampler_index
- buffer_index
- buffer_view_data
- buffer_view_index
- calc_size
- camera_index
- component_size
- copy_extras_json
- decode_string
- decode_uri
- free
- image_index
- light_index
- load_buffer_base64
- load_buffers
- material_index
- mesh_index
- node_index
- node_transform_local
- node_transform_world
- num_components
- parse
- parse_file
- sampler_index
- scene_index
- skin_index
- texture_index
- validate
- write
- write_file
Procedure Groups (0)
This section is empty.
Types
accessor ¶
accessor :: struct { name: cstring, component_type: component_type, normalized: b32, type: type, offset: uint, count: uint, stride: uint, buffer_view: ^buffer_view, has_min: b32, min: [16]f32, has_max: b32, max: [16]f32, is_sparse: b32, sparse: accessor_sparse, extras: extras_t, extensions_count: uint, extensions: [^]extension `fmt:"v,extensions_count"`, }
Related Procedures With Parameters
accessor_sparse ¶
accessor_sparse :: struct { count: uint, indices_buffer_view: ^buffer_view, indices_byte_offset: uint, indices_component_type: component_type, values_buffer_view: ^buffer_view, values_byte_offset: uint, }
alpha_mode ¶
alpha_mode :: enum i32 { opaque, mask, blend, }
animation ¶
animation :: struct { name: cstring, samplers: []animation_sampler, channels: []animation_channel, extras: extras_t, extensions_count: uint, extensions: [^]extension `fmt:"v,extensions_count"`, }
Related Procedures With Parameters
animation_channel ¶
animation_channel :: struct { sampler: ^animation_sampler, target_node: ^node, target_path: animation_path_type, extras: extras_t, extensions_count: uint, extensions: [^]extension `fmt:"v,extensions_count"`, }
Related Procedures With Parameters
animation_path_type ¶
animation_path_type :: enum i32 { invalid, translation, rotation, scale, weights, }
animation_sampler ¶
animation_sampler :: struct { input: ^accessor, output: ^accessor, interpolation: interpolation_type, extras: extras_t, extensions_count: uint, extensions: [^]extension `fmt:"v,extensions_count"`, }
Related Procedures With Parameters
anisotropy ¶
anisotropy :: struct { anisotropy_strength: f32, anisotropy_rotation: f32, anisotropy_texture: texture_view, }
attribute ¶
attribute :: struct { name: cstring, type: attribute_type, index: i32, data: ^accessor, }
attribute_type ¶
attribute_type :: enum i32 { invalid, position, normal, tangent, texcoord, color, joints, weights, custom, }
buffer ¶
buffer :: struct { name: cstring, size: uint, uri: cstring, data: rawptr, // loaded by cgltf_load_buffers data_free_method: data_free_method, extras: extras_t, extensions_count: uint, extensions: [^]extension `fmt:"v,extensions_count"`, }
Related Procedures With Parameters
buffer_view ¶
buffer_view :: struct { name: cstring, buffer: ^buffer, offset: uint, size: uint, stride: uint, // 0 == automatically determined by accessor type: buffer_view_type, data: rawptr, // overrides buffer->data if present, filled by extensions has_meshopt_compression: b32, meshopt_compression: meshopt_compression, extras: extras_t, extensions_count: uint, extensions: [^]extension `fmt:"v,extensions_count"`, }
Related Procedures With Parameters
buffer_view_type ¶
buffer_view_type :: enum i32 { invalid, indices, vertices, }
camera ¶
camera :: struct { name: cstring, type: camera_type, data: struct #raw_union { perspective: camera_perspective, orthographic: camera_orthographic, }, extras: extras_t, extensions_count: uint, extensions: [^]extension `fmt:"v,extensions_count"`, }
Related Procedures With Parameters
camera_type ¶
camera_type :: enum i32 { invalid, perspective, orthographic, }
clearcoat ¶
clearcoat :: struct { clearcoat_texture: texture_view, clearcoat_roughness_texture: texture_view, clearcoat_normal_texture: texture_view, clearcoat_factor: f32, clearcoat_roughness_factor: f32, }
component_type ¶
component_type :: enum i32 { invalid, r_8, // BYTE r_8u, // UNSIGNED_BYTE r_16, // SHORT r_16u, // UNSIGNED_SHORT r_32u, // UNSIGNED_INT r_32f, // FLOAT }
Related Procedures With Parameters
data ¶
data :: struct { file_type: file_type, file_data: rawptr, asset: asset, meshes: []mesh, materials: []material, accessors: []accessor, buffer_views: []buffer_view, buffers: []buffer, images: []image, textures: []texture, samplers: []sampler, skins: []skin, cameras: []camera, lights: []light, nodes: []node, scenes: []scene, scene: ^scene, animations: []animation, variants: []material_variant, extras: extras_t, data_extensions_count: uint, data_extensions: [^]extension `fmt:"v,extensions_count"`, extensions_used: []cstring, extensions_required: []cstring, json: string, bin: []u8, memory: memory_options, file: file_options, }
Related Procedures With Parameters
- accessor_index
- animation_index
- buffer_index
- buffer_view_index
- camera_index
- copy_extras_json
- free
- image_index
- light_index
- load_buffers
- material_index
- mesh_index
- node_index
- sampler_index
- scene_index
- skin_index
- texture_index
- validate
- write
- write_file
Related Procedures With Returns
data_free_method ¶
data_free_method :: enum i32 { none, file_release, memory_free, }
dispersion ¶
dispersion :: struct { dispersion: f32, }
draco_mesh_compression ¶
draco_mesh_compression :: struct { buffer_view: ^buffer_view, attributes: []attribute, }
emissive_strength ¶
emissive_strength :: struct { emissive_strength: f32, }
extras_t ¶
extras_t :: struct { start_offset: uint, // this field is deprecated and will be removed in the future; use data instead end_offset: uint, // this field is deprecated and will be removed in the future; use data instead data: [^]u8, }
Related Procedures With Parameters
file_options ¶
file_options :: struct { read: proc "c" (memory_options: ^memory_options, file_options: ^file_options, path: cstring, size: ^uint, data: ^rawptr) -> result, release: proc "c" (memory_options: ^memory_options, file_options: ^file_options, data: rawptr), user_data: rawptr, }
file_type ¶
file_type :: enum i32 { invalid, gltf, glb, }
image ¶
image :: struct { name: cstring, uri: cstring, buffer_view: ^buffer_view, mime_type: cstring, extras: extras_t, extensions_count: uint, extensions: [^]extension `fmt:"v,extensions_count"`, }
Related Procedures With Parameters
interpolation_type ¶
interpolation_type :: enum i32 { linear, step, cubic_spline, }
iridescence ¶
iridescence :: struct { iridescence_factor: f32, iridescence_texture: texture_view, iridescence_ior: f32, iridescence_thickness_min: f32, iridescence_thickness_max: f32, iridescence_thickness_texture: texture_view, }
light ¶
light :: struct { name: cstring, color: [3]f32, intensity: f32, type: light_type, range: f32, spot_inner_cone_angle: f32, spot_outer_cone_angle: f32, extras: extras_t, }
Related Procedures With Parameters
light_type ¶
light_type :: enum i32 { invalid, directional, point, spot, }
material ¶
material :: struct { name: cstring, has_pbr_metallic_roughness: b32, has_pbr_specular_glossiness: b32, has_clearcoat: b32, has_transmission: b32, has_volume: b32, has_ior: b32, has_specular: b32, has_sheen: b32, has_emissive_strength: b32, has_iridescence: b32, has_anisotropy: b32, has_dispersion: b32, pbr_metallic_roughness: pbr_metallic_roughness, pbr_specular_glossiness: pbr_specular_glossiness, clearcoat: clearcoat, ior: ior, specular: specular, sheen: sheen, transmission: transmission, volume: volume, emissive_strength: emissive_strength, iridescence: iridescence, anisotropy: anisotropy, dispersion: dispersion, normal_texture: texture_view, occlusion_texture: texture_view, emissive_texture: texture_view, emissive_factor: [3]f32, alpha_mode: alpha_mode, alpha_cutoff: f32, double_sided: b32, unlit: b32, extras: extras_t, extensions_count: uint, extensions: [^]extension `fmt:"v,extensions_count"`, }
Related Procedures With Parameters
mesh ¶
mesh :: struct { name: cstring, primitives: []primitive, weights: []f32, target_names: []cstring, extras: extras_t, extensions_count: uint, extensions: [^]extension `fmt:"v,extensions_count"`, }
Related Procedures With Parameters
mesh_gpu_instancing ¶
mesh_gpu_instancing :: struct { attributes: []attribute, }
meshopt_compression ¶
meshopt_compression :: struct { buffer: ^buffer, offset: uint, size: uint, stride: uint, count: uint, mode: meshopt_compression_mode, filter: meshopt_compression_filter, }
meshopt_compression_filter ¶
meshopt_compression_filter :: enum i32 { none, octahedral, quaternion, exponential, }
meshopt_compression_mode ¶
meshopt_compression_mode :: enum i32 { invalid, attributes, triangles, indices, }
morph_target ¶
morph_target :: struct { attributes: []attribute, }
node ¶
node :: struct { name: cstring, parent: ^node, children: []^node, skin: ^skin, mesh: ^mesh, camera: ^camera, light: ^light, weights: []f32, has_translation: b32, has_rotation: b32, has_scale: b32, has_matrix: b32, translation: [3]f32, rotation: [4]f32, scale: [3]f32, matrix_: [16]f32, extras: extras_t, has_mesh_gpu_instancing: b32, mesh_gpu_instancing: mesh_gpu_instancing, extensions_count: uint, extensions: [^]extension `fmt:"v,extensions_count"`, }
Related Procedures With Parameters
options ¶
options :: struct { type: file_type, // invalid == auto detect json_token_count: uint, // 0 == auto memory: memory_options, file: file_options, }
Related Procedures With Parameters
pbr_metallic_roughness ¶
pbr_metallic_roughness :: struct { base_color_texture: texture_view, metallic_roughness_texture: texture_view, base_color_factor: [4]f32, metallic_factor: f32, roughness_factor: f32, }
pbr_specular_glossiness ¶
pbr_specular_glossiness :: struct { diffuse_texture: texture_view, specular_glossiness_texture: texture_view, diffuse_factor: [4]f32, specular_factor: [3]f32, glossiness_factor: f32, }
primitive ¶
primitive :: struct { type: primitive_type, indices: ^accessor, material: ^material, attributes: []attribute, targets: []morph_target, extras: extras_t, has_draco_mesh_compression: b32, draco_mesh_compression: draco_mesh_compression, mappings: []material_mapping, extensions_count: uint, extensions: [^]extension `fmt:"v,extensions_count"`, }
primitive_type ¶
primitive_type :: enum i32 { invalid, points, lines, line_loop, line_strip, triangles, triangle_strip, triangle_fan, }
result ¶
result :: enum i32 { success, data_too_short, unknown_format, invalid_json, invalid_gltf, invalid_options, file_not_found, io_error, out_of_memory, legacy_gltf, }
Related Procedures With Returns
sampler ¶
sampler :: struct { name: cstring, mag_filter: i32, min_filter: i32, wrap_s: i32, wrap_t: i32, extras: extras_t, extensions_count: uint, extensions: [^]extension `fmt:"v,extensions_count"`, }
Related Procedures With Parameters
scene ¶
scene :: struct { name: cstring, nodes: []^node, extras: extras_t, extensions_count: uint, extensions: [^]extension `fmt:"v,extensions_count"`, }
Related Procedures With Parameters
sheen ¶
sheen :: struct { sheen_color_texture: texture_view, sheen_color_factor: [3]f32, sheen_roughness_texture: texture_view, sheen_roughness_factor: f32, }
skin ¶
skin :: struct { name: cstring, joints: []^node, skeleton: ^node, inverse_bind_matrices: ^accessor, extras: extras_t, extensions_count: uint, extensions: [^]extension `fmt:"v,extensions_count"`, }
Related Procedures With Parameters
specular ¶
specular :: struct { specular_texture: texture_view, specular_color_texture: texture_view, specular_color_factor: [3]f32, specular_factor: f32, }
texture ¶
texture :: struct { name: cstring, image_: ^image, sampler: ^sampler, has_basisu: b32, basisu_image: ^image, extras: extras_t, extensions_count: uint, extensions: [^]extension `fmt:"v,extensions_count"`, }
Related Procedures With Parameters
texture_view ¶
texture_view :: struct { texture: ^texture, texcoord: i32, scale: f32, // equivalent to strength for occlusion_texture has_transform: b32, transform: texture_transform, }
transmission ¶
transmission :: struct { transmission_texture: texture_view, transmission_factor: f32, }
type ¶
type :: enum i32 { invalid, scalar, vec2, vec3, vec4, mat2, mat3, mat4, }
Related Procedures With Parameters
volume ¶
volume :: struct { thickness_texture: texture_view, thickness_factor: f32, attenuation_color: [3]f32, attenuation_distance: f32, }
Constants
This section is empty.
Variables
This section is empty.
Procedures
animation_channel_index ¶
animation_channel_index :: proc "c" (animation: ^animation, object: ^animation_channel) -> uint ---
animation_sampler_index ¶
animation_sampler_index :: proc "c" (animation: ^animation, object: ^animation_sampler) -> uint ---
buffer_view_data ¶
buffer_view_data :: proc "c" (view: ^buffer_view) -> [^]u8 ---
buffer_view_index ¶
buffer_view_index :: proc "c" (data: ^data, object: ^buffer_view) -> uint ---
calc_size ¶
calc_size :: proc "c" (type: type, component_type: component_type) -> uint ---
component_size ¶
component_size :: proc "c" (component_type: component_type) -> uint ---
copy_extras_json ¶
copy_extras_json :: proc "c" (data: ^data, extras: ^extras_t, dest: [^]u8, dest_size: ^uint) -> result ---
this function is deprecated and will be removed in the future; use cgltf_extras::data instead
Procedure Groups
This section is empty.
Source Files
Generation Information
Generated with odin version dev-2025-01 (vendor "odin") Windows_amd64 @ 2025-01-20 21:11:04.643345700 +0000 UTC