package assimp

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type !'a result = ('a, [ `Msg of string ]) Result.result
val get_version_major : unit -> int
val get_version_minor : unit -> int
val get_version_revision : unit -> int
val get_compile_flags : unit -> int
type raw_scene
val import_file : string -> int -> raw_scene result
val import_memory : ('a, 'b, 'c) Stdlib.Bigarray.Array1.t -> int -> string -> raw_scene result
val release_scene : raw_scene -> unit
val postprocess_scene : raw_scene -> int -> unit
type color3 = float array
type color4 = float array
type vec3 = float array
type vec4 = float array
type quat = float array
type mat3 = float array
type mat4 = float array
type node = {
  1. node_name : string;
  2. node_transformation : mat4;
  3. node_children : node array;
  4. node_meshes : int array;
}
type anim_behaviour = int
val anim_behaviour_default : int
val anim_behaviour_constant : int
val anim_behaviour_linear : int
val anim_behaviour_repeat : int
type primitive_type = int
val primitive_type_POINT : int
val primitive_type_LINE : int
val primitive_type_TRIANGLE : int
val primitive_type_POLYGON : int
type face = int array
type anim_mesh = {
  1. anim_mesh_vertices : vec3 array;
  2. anim_mesh_normals : vec3 array;
  3. anim_mesh_tangents : vec3 array;
  4. anim_mesh_bitangents : vec3 array;
  5. anim_mesh_colors : color4 array array;
  6. anim_mesh_texture_coords : vec3 array array;
}
type vertex_weight = {
  1. vw_id : int;
  2. vw_weight : float;
}
type bone = {
  1. bone_name : string;
  2. bone_weights : vertex_weight array;
  3. bone_offset : mat4;
}
type mesh = {
  1. mesh_type : primitive_type;
  2. mesh_vertices : vec3 array;
  3. mesh_normals : vec3 array;
  4. mesh_tangents : vec3 array;
  5. mesh_bitangents : vec3 array;
  6. mesh_colors : color4 array array;
  7. mesh_texture_coords : vec3 array array;
  8. mesh_uv_components : int array;
  9. mesh_faces : face array;
  10. mesh_bones : bone array;
  11. mesh_name : string;
  12. mesh_animations : anim_mesh array;
}
type property_type_info = int
val pti_float : int
val pti_string : int
val pti_integer : int
val pti_buffer : int
type texture_op = int
val texture_op_multiply : int
val texture_op_add : int
val texture_op_subtract : int
val texture_op_divide : int
val texture_op_smooth_add : int
val texture_op_signed_add : int
type texture_map_mode = int
val texture_map_mode_wrap : int
val texture_map_mode_clamp : int
val texture_map_mode_decal : int
val texture_map_mode_mirror : int
type texture_mapping_mode = int
val texture_mapping_uv : int
val texture_mapping_sphere : int
val texture_mapping_cylinder : int
val texture_mapping_box : int
val texture_mapping_plane : int
val texture_mapping_other : int
type texture_type = int
val texture_type_none : int
val texture_type_diffuse : int
val texture_type_specular : int
val texture_type_ambient : int
val texture_type_emissive : int
val texture_type_height : int
val texture_type_normals : int
val texture_type_shininess : int
val texture_type_opacity : int
val texture_type_displacement : int
val texture_type_lightmap : int
val texture_type_reflection : int
val texture_type_unknown : int
type shading_mode = int
val shading_mode_flat : int
val shading_mode_gouraud : int
val shading_mode_phong : int
val shading_mode_blinn : int
val shading_mode_toon : int
val shading_mode_oren_nayar : int
val shading_mode_minnaert : int
val shading_mode_cook_torrance : int
val shading_mode_no_shading : int
val shading_mode_fresnel : int
type texture_flags = int
val texture_flags_invert : int
val texture_flags_use_alpha : int
val texture_flags_ignore_alpha : int
type blend_mode = int
val blend_mode_default : int
val blend_mode_additive : int
type material_property = {
  1. prop_key : string;
  2. prop_semantic : int;
  3. prop_index : int;
  4. prop_type : property_type_info;
  5. prop_data : string;
}
type material = material_property array
type !'a key = {
  1. time : float;
  2. data : 'a;
}
type node_anim = {
  1. nanim_name : string;
  2. nanim_positions : vec3 key array;
  3. nanim_rotations : quat key array;
  4. nanim_scaling : vec3 key array;
}
type mesh_anim = {
  1. manim_name : string;
  2. manim_keys : int key array;
}
type animation = {
  1. anim_name : string;
  2. anim_duration : float;
  3. anim_tickspersecond : float;
  4. anim_channels : node_anim array;
  5. anim_mesh_channels : mesh_anim array;
}
type hint = string
type buffer = (int, Stdlib.Bigarray.int8_unsigned_elt, Stdlib.Bigarray.c_layout) Stdlib.Bigarray.Array1.t
type image = {
  1. width : int;
  2. height : int;
  3. hint : hint;
  4. data : buffer;
}
type texture =
  1. | Decoded of image
  2. | Raw of hint * buffer
type light_source_type = int
val light_source_type_UNDEFINED : int
val light_source_type_DIRECTIONAL : int
val light_source_type_POINT : int
val light_source_type_SPOT : int
type light = {
  1. light_name : string;
  2. light_source_type : light_source_type;
  3. light_position : vec3;
  4. light_direction : vec3;
  5. light_attenuation_constant : float;
  6. light_attenuation_linear : float;
  7. light_attenuation_quadratic : float;
  8. light_color_diffuse : color3;
  9. light_color_specular : color3;
  10. light_color_ambient : color3;
  11. light_angle_inner_cone : float;
  12. light_angle_outer_cone : float;
}
type camera = {
  1. camera_name : string;
  2. camera_position : vec3;
  3. camera_up : vec3;
  4. camera_look_at : vec3;
  5. camera_horizontal_fov : float;
  6. camera_clip_plane_near : float;
  7. camera_clip_plane_far : float;
  8. camera_aspect : float;
}
type scene = {
  1. scene_flags : int;
  2. scene_root : node;
  3. scene_meshes : mesh array;
  4. scene_materials : material array;
  5. scene_animations : animation array;
  6. scene_textures : texture array;
  7. scene_lights : light array;
  8. scene_cameras : camera array;
}
val view_scene : raw_scene -> scene