package vendor:cgltf
⌘K
Ctrl+K
or
/
Index
Types (61)
- accessor
- accessor_sparse
- alpha_mode
- animation
- animation_channel
- animation_path_type
- animation_sampler
- asset
- attribute
- attribute_type
- buffer
- buffer_view
- buffer_view_type
- camera
- camera_orthographic
- camera_perspective
- camera_type
- clearcoat
- component_type
- data
- data_free_method
- 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.
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, extras: extras_t, indices_extras: extras_t, values_extras: extras_t, extensions_count: uint, extensions: [^]extension `fmt:"v,extensions_count"`, indices_extensions_count: uint, indices_extensions: [^]extension `fmt:"v,indices_extensions_count"`, values_extensions_count: uint, values_extensions: [^]extension `fmt:"v,values_extensions_count"`, }
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"`, }
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"`, }
animation_path_type ¶
animation_path_type :: enum i32 { invalid, translation, rotation, scale, weights, }
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_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"`, }
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"`, }
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 }
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
Related Procedures With Returns
data_free_method ¶
data_free_method :: enum i32 { none, file_release, memory_free, }
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, }
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_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, 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, 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"`, }
mesh_gpu_instancing ¶
mesh_gpu_instancing :: struct { buffer_view: ^buffer_view, 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 { 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
sheen ¶
sheen :: struct { sheen_color_texture: texture_view, sheen_color_factor: [3]f32, sheen_roughness_texture: texture_view, sheen_roughness_factor: f32, }
specular ¶
specular :: struct { specular_texture: texture_view, specular_color_texture: texture_view, specular_color_factor: [3]f32, specular_factor: f32, }
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
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-2024-08 (vendor "odin") Windows_amd64 @ 2024-08-31 21:09:27.988964600 +0000 UTC