2 #ifndef INCLUDED_LIB3DS_H
3 #define INCLUDED_LIB3DS_H
27 #define LIB3DSAPI __declspec(dllexport)
29 #define LIB3DSAPI __declspec(dllimport)
154 #define LIB3DS_LAYOUT_MAX_VIEWS 32
Lib3dsTextureMap self_illum_map
LIB3DSAPI int lib3ds_file_read(Lib3dsFile *file, Lib3dsIo *io)
unsigned short layout_position[2]
LIB3DSAPI void lib3ds_track_resize(Lib3dsTrack *track, int nkeys)
LIB3DSAPI void lib3ds_vector_transform(float c[3], float m[4][4], float a[3])
LIB3DSAPI void lib3ds_math_cubic_interp(float *v, float *a, float *p, float *q, float *b, int n, float t)
struct Lib3dsBackground Lib3dsBackground
LIB3DSAPI Lib3dsCameraNode * lib3ds_node_new_camera(Lib3dsCamera *camera)
LIB3DSAPI Lib3dsFile * lib3ds_file_new()
LIB3DSAPI Lib3dsMesh * lib3ds_file_mesh_for_node(Lib3dsFile *file, Lib3dsNode *node)
float map_cylinder_height
LIB3DSAPI void lib3ds_file_bounding_box_of_nodes(Lib3dsFile *file, int include_meshes, int include_cameras, int include_lights, float bmin[3], float bmax[3], float matrix[4][4])
LIB3DSAPI void lib3ds_material_free(Lib3dsMaterial *material)
LIB3DSAPI void lib3ds_file_insert_camera(Lib3dsFile *file, Lib3dsCamera *camera, int index)
LIB3DSAPI void lib3ds_matrix_rotate_quat(float m[4][4], float q[4])
LIB3DSAPI void lib3ds_matrix_add(float m[4][4], float a[4][4], float b[4][4])
LIB3DSAPI void lib3ds_quat_slerp(float c[4], float a[4], float b[4], float t)
GLint GLenum GLsizei GLsizei GLsizei GLint GLenum GLenum type
const GLubyte GLuint GLuint GLuint GLuint alpha GLboolean GLboolean GLboolean GLboolean alpha GLint GLint GLsizei GLsizei GLenum type GLenum GLint GLenum GLint GLint GLsizei GLsizei GLint border GLenum GLint GLint GLint GLint GLint GLsizei GLsizei height GLsizei GLsizei GLenum GLenum const GLvoid *pixels GLenum GLint GLint GLint GLint j2 GLdouble GLdouble GLdouble GLdouble GLdouble GLdouble zFar GLenum light
GLvoid **typedef void(GLAPIENTRY *PFNGLGETVERTEXATTRIBDVPROC)(GLuint
int autorefl_map_frame_step
float default_position[3]
LIB3DSAPI Lib3dsOmnilightNode * lib3ds_node_new_omnilight(Lib3dsLight *light)
float dist_cue_near_plane
struct Lib3dsView Lib3dsView
LIB3DSAPI void lib3ds_quat_squad(float c[4], float a[4], float p[4], float q[4], float b[4], float t)
Lib3dsTextureMap texture1_mask
LIB3DSAPI Lib3dsAmbientColorNode * lib3ds_node_new_ambient_color(float color0[3])
LIB3DSAPI void lib3ds_file_reserve_meshes(Lib3dsFile *file, int size, int force)
Lib3dsTextureMap specular_map
LIB3DSAPI void lib3ds_quat_exp(float c[4])
LIB3DSAPI float lib3ds_math_ease(float fp, float fc, float fn, float ease_from, float ease_to)
LIB3DSAPI int lib3ds_file_write(Lib3dsFile *file, Lib3dsIo *io)
struct Lib3dsShadow Lib3dsShadow
LIB3DSAPI void lib3ds_file_reserve_cameras(Lib3dsFile *file, int size, int force)
float construction_plane[3]
LIB3DSAPI void lib3ds_file_reserve_materials(Lib3dsFile *file, int size, int force)
LIB3DSAPI Lib3dsTargetNode * lib3ds_node_new_spotlight_target(Lib3dsLight *light)
Lib3dsTextureMap texture1_map
LIB3DSAPI Lib3dsCamera * lib3ds_camera_new(const char *name)
LIB3DSAPI Lib3dsMaterial * lib3ds_material_new(const char *name)
GLboolean GLboolean GLboolean GLboolean a
LIB3DSAPI float lib3ds_quat_norm(float c[4])
Lib3dsBackground background
LIB3DSAPI void lib3ds_matrix_rotate(float m[4][4], float angle, float ax, float ay, float az)
EGLImageKHR EGLint * name
LIB3DSAPI int lib3ds_file_mesh_by_name(Lib3dsFile *file, const char *name)
LIB3DSAPI void lib3ds_matrix_scale(float m[4][4], float x, float y, float z)
#define LIB3DS_LAYOUT_MAX_VIEWS
LIB3DSAPI void lib3ds_quat_neg(float c[4])
LIB3DSAPI void lib3ds_matrix_identity(float m[4][4])
LIB3DSAPI void lib3ds_quat_identity(float c[4])
Lib3dsTextureMap bump_mask
LIB3DSAPI void lib3ds_file_append_node(Lib3dsFile *file, Lib3dsNode *node, Lib3dsNode *parent)
LIB3DSAPI void lib3ds_file_remove_camera(Lib3dsFile *file, int index)
LIB3DSAPI void lib3ds_file_remove_light(Lib3dsFile *file, int index)
LIB3DSAPI void lib3ds_mesh_calculate_face_normals(Lib3dsMesh *mesh, float(*face_normals)[3])
unsigned autorefl_map_flags
LIB3DSAPI void lib3ds_node_eval(Lib3dsNode *node, float t)
LIB3DSAPI void lib3ds_matrix_mult(float m[4][4], float a[4][4], float b[4][4])
LIB3DSAPI void lib3ds_quat_ln_dif(float c[4], float a[4], float b[4])
LIB3DSAPI void lib3ds_file_eval(Lib3dsFile *file, float t)
LIB3DSAPI void lib3ds_file_free(Lib3dsFile *file)
LIB3DSAPI void lib3ds_quat_inv(float c[4])
LIB3DSAPI void lib3ds_vector_max(float c[3], float a[3])
struct Lib3dsLight Lib3dsLight
LIB3DSAPI void lib3ds_file_reserve_lights(Lib3dsFile *file, int size, int force)
Lib3dsTextureMap specular_mask
EGLContext EGLenum target
LIB3DSAPI int lib3ds_file_camera_by_name(Lib3dsFile *file, const char *name)
Lib3dsTextureMap reflection_mask
EGLContext EGLenum EGLClientBuffer buffer
LIB3DSAPI void lib3ds_file_insert_mesh(Lib3dsFile *file, Lib3dsMesh *mesh, int index)
float dist_cue_far_dimming
LIB3DSAPI void lib3ds_quat_scalar(float c[4], float k)
LIB3DSAPI void lib3ds_camera_free(Lib3dsCamera *mesh)
Lib3dsView layout_views[LIB3DS_LAYOUT_MAX_VIEWS]
LIB3DSAPI void lib3ds_vector_min(float c[3], float a[3])
LIB3DSAPI Lib3dsTargetNode * lib3ds_node_new_camera_target(Lib3dsCamera *camera)
int autorefl_map_anti_alias
LIB3DSAPI void lib3ds_vector_copy(float dst[3], float src[3])
Lib3dsTrack hotspot_track
LIB3DSAPI Lib3dsNode * lib3ds_node_new(Lib3dsNodeType type)
LIB3DSAPI void lib3ds_light_free(Lib3dsLight *mesh)
LIB3DSAPI void lib3ds_track_eval_vector(Lib3dsTrack *track, float v[3], float t)
Lib3dsTextureMap opacity_mask
LIB3DSAPI void lib3ds_track_eval_bool(Lib3dsTrack *track, int *b, float t)
LIB3DSAPI int lib3ds_file_light_by_name(Lib3dsFile *file, const char *name)
LIB3DSAPI void lib3ds_quat_ln(float c[4])
LIB3DSAPI Lib3dsLight * lib3ds_light_new(const char *name)
LIB3DSAPI void lib3ds_file_bounding_box_of_objects(Lib3dsFile *file, int include_meshes, int include_cameras, int include_lights, float bmin[3], float bmax[3])
struct Lib3dsAmbientColorNode Lib3dsAmbientColorNode
LIB3DSAPI int lib3ds_file_save(Lib3dsFile *file, const char *filename)
struct Lib3dsCamera Lib3dsCamera
LIB3DSAPI void lib3ds_mesh_free(Lib3dsMesh *mesh)
struct Lib3dsSpotlightNode Lib3dsSpotlightNode
LIB3DSAPI void lib3ds_vector_make(float c[3], float x, float y, float z)
Lib3dsViewport viewport_keyf
LIB3DSAPI void lib3ds_vector_zero(float c[3])
unsigned short layout_size[2]
struct Lib3dsCameraNode Lib3dsCameraNode
LIB3DSAPI void lib3ds_file_remove_node(Lib3dsFile *file, Lib3dsNode *node)
long(* seek_func)(void *self, long offset, Lib3dsIoSeek origin)
Lib3dsAtmosphere atmosphere
LIB3DSAPI void lib3ds_file_remove_mesh(Lib3dsFile *file, int index)
LIB3DSAPI Lib3dsMesh * lib3ds_mesh_new(const char *name)
LIB3DSAPI int lib3ds_file_material_by_name(Lib3dsFile *file, const char *name)
LIB3DSAPI void lib3ds_vector_normalize(float c[3])
LIB3DSAPI void lib3ds_node_free(Lib3dsNode *node)
struct Lib3dsTextureMap Lib3dsTextureMap
LIB3DSAPI void lib3ds_track_eval_quat(Lib3dsTrack *track, float q[4], float t)
LIB3DSAPI float lib3ds_quat_dot(float a[4], float b[4])
LIB3DSAPI void lib3ds_vector_normal(float n[3], float a[3], float b[3], float c[3])
Lib3dsTextureMap texture2_mask
LIB3DSAPI void lib3ds_file_remove_material(Lib3dsFile *file, int index)
struct Lib3dsTargetNode Lib3dsTargetNode
Lib3dsTextureMap reflection_map
LIB3DSAPI void lib3ds_quat_normalize(float c[4])
LIB3DSAPI void lib3ds_quat_cnj(float c[4])
GLenum GLenum GLenum GLenum GLenum scale
LIB3DSAPI void lib3ds_mesh_resize_vertices(Lib3dsMesh *mesh, int nvertices, int use_texcos, int use_flags)
LIB3DSAPI void lib3ds_file_insert_node(Lib3dsFile *file, Lib3dsNode *node, Lib3dsNode *at)
LIB3DSAPI void lib3ds_vector_add(float c[3], float a[3], float b[3])
long(* tell_func)(void *self)
float dist_cue_near_dimming
LIB3DSAPI Lib3dsMeshInstanceNode * lib3ds_node_new_mesh_instance(Lib3dsMesh *mesh, const char *instance_name, float pos0[3], float scl0[3], float rot0[4])
EGLSurface EGLint EGLint y
LIB3DSAPI void lib3ds_matrix_neg(float m[4][4])
Lib3dsTextureMap opacity_map
LIB3DSAPI void lib3ds_file_minmax_node_id(Lib3dsFile *file, unsigned short *min_id, unsigned short *max_id)
void(* log_func)(void *self, Lib3dsLogLevel level, int indent, const char *msg)
LIB3DSAPI void lib3ds_mesh_bounding_box(Lib3dsMesh *mesh, float bmin[3], float bmax[3])
size_t(* write_func)(void *self, const void *buffer, size_t size)
EGLSurface EGLint void ** value
LIB3DSAPI Lib3dsNode * lib3ds_file_node_by_id(Lib3dsFile *file, unsigned short node_id)
struct Lib3dsMaterial Lib3dsMaterial
LIB3DSAPI void lib3ds_matrix_translate(float m[4][4], float x, float y, float z)
LIB3DSAPI void lib3ds_vector_scalar_mul(float c[3], float a[3], float k)
struct Lib3dsFile Lib3dsFile
struct Lib3dsNode * childs
LIB3DSAPI void lib3ds_vector_sub(float c[3], float a[3], float b[3])
Lib3dsTextureMap shininess_map
LIB3DSAPI void lib3ds_mesh_calculate_vertex_normals(Lib3dsMesh *mesh, float(*normals)[3])
LIB3DSAPI void lib3ds_matrix_camera(float m[4][4], float pos[3], float tgt[3], float roll)
struct Lib3dsOmnilightNode Lib3dsOmnilightNode
LIB3DSAPI void lib3ds_file_insert_light(Lib3dsFile *file, Lib3dsLight *light, int index)
LIB3DSAPI void lib3ds_track_eval_float(Lib3dsTrack *track, float *f, float t)
GLdouble GLdouble GLdouble GLdouble q
LIB3DSAPI void lib3ds_matrix_scalar(float m[4][4], float k)
LIB3DSAPI void lib3ds_quat_mul(float c[4], float a[4], float b[4])
LIB3DSAPI void lib3ds_matrix_zero(float m[4][4])
struct Lib3dsMeshInstanceNode Lib3dsMeshInstanceNode
LIB3DSAPI void lib3ds_vector_cross(float c[3], float a[3], float b[3])
LIB3DSAPI void lib3ds_mesh_resize_faces(Lib3dsMesh *mesh, int nfaces)
struct Lib3dsFace Lib3dsFace
LIB3DSAPI void lib3ds_matrix_sub(float m[4][4], float a[4][4], float b[4][4])
struct Lib3dsTrack Lib3dsTrack
size_t(* read_func)(void *self, void *buffer, size_t size)
GLdouble GLdouble GLdouble b
GLint GLint GLint GLint z
struct Lib3dsNode Lib3dsNode
LIB3DSAPI int lib3ds_matrix_inv(float m[4][4])
LIB3DSAPI float lib3ds_vector_dot(float a[3], float b[3])
LIB3DSAPI Lib3dsNode * lib3ds_node_by_name(Lib3dsNode *node, const char *name, Lib3dsNodeType type)
LIB3DSAPI Lib3dsFile * lib3ds_file_open(const char *filename)
LIB3DSAPI Lib3dsNode * lib3ds_node_by_id(Lib3dsNode *node, unsigned short node_id)
Lib3dsTextureMap texture2_map
struct Lib3dsNode * parent
LIB3DSAPI Lib3dsSpotlightNode * lib3ds_node_new_spotlight(Lib3dsLight *light)
LIB3DSAPI float lib3ds_matrix_det(float m[4][4])
LIB3DSAPI void lib3ds_quat_tangent(float c[4], float p[4], float q[4], float n[4])
LIB3DSAPI void lib3ds_track_free(Lib3dsTrack *track)
Lib3dsTextureMap shininess_mask
struct Lib3dsViewport Lib3dsViewport
LIB3DSAPI float lib3ds_vector_length(float c[3])
LIB3DSAPI void lib3ds_quat_axis_angle(float c[4], float axis[3], float angle)
LIB3DSAPI Lib3dsNode * lib3ds_file_node_by_name(Lib3dsFile *file, const char *name, Lib3dsNodeType type)
LIB3DSAPI void lib3ds_matrix_transpose(float m[4][4])
struct Lib3dsKey Lib3dsKey
Lib3dsTextureMap self_illum_mask
LIB3DSAPI void lib3ds_vector_neg(float c[3])
LIB3DSAPI void lib3ds_file_insert_material(Lib3dsFile *file, Lib3dsMaterial *material, int index)
LIB3DSAPI Lib3dsTrack * lib3ds_track_new(Lib3dsTrackType type, int nkeys)
LIB3DSAPI void lib3ds_quat_copy(float dest[4], float src[4])
Lib3dsMaterial ** materials
LIB3DSAPI void lib3ds_file_create_nodes_for_meshes(Lib3dsFile *file)
float default_horiz_angle
LIB3DSAPI void lib3ds_matrix_copy(float dest[4][4], float src[4][4])
Lib3dsTrack falloff_track
struct Lib3dsMesh Lib3dsMesh
struct Lib3dsAtmosphere Lib3dsAtmosphere
Lib3dsTextureMap bump_map