zenilib  0.5.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lib3ds.h
Go to the documentation of this file.
1 /* -*- c -*- */
2 #ifndef INCLUDED_LIB3DS_H
3 #define INCLUDED_LIB3DS_H
4 /*
5  Copyright (C) 1996-2008 by Jan Eric Kyprianidis <www.kyprianidis.com>
6  All rights reserved.
7 
8  This program is free software: you can redistribute it and/or modify
9  it under the terms of the GNU Lesser General Public License as published
10  by the Free Software Foundation, either version 2.1 of the License, or
11  (at your option) any later version.
12 
13  Thisprogram is distributed in the hope that it will be useful,
14  but WITHOUT ANY WARRANTY; without even the implied warranty of
15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  GNU Lesser General Public License for more details.
17 
18  You should have received a copy of the GNU Lesser General Public License
19  along with this program; If not, see <http://www.gnu.org/licenses/>.
20  */
21 
22 #include <stddef.h>
23 
24 #ifndef LIB3DSAPI
25  #ifdef _MSC_VER
26  #ifdef LIB3DS_EXPORTS
27  #define LIB3DSAPI __declspec(dllexport)
28  #else
29  #define LIB3DSAPI __declspec(dllimport)
30  #endif
31  #else
32  #define LIB3DSAPI
33  #endif
34 #endif
35 
36 #ifdef __cplusplus
37 extern "C" {
38 #endif
39 
43 typedef enum Lib3dsIoSeek {
47 } Lib3dsIoSeek;
48 
49 typedef enum Lib3dsLogLevel {
55 
56 typedef struct Lib3dsIo {
57  void* impl;
58  void* self;
59  long (*seek_func) (void *self, long offset, Lib3dsIoSeek origin);
60  long (*tell_func) (void *self);
61  size_t (*read_func) (void *self, void *buffer, size_t size);
62  size_t (*write_func)(void *self, const void *buffer, size_t size);
63  void (*log_func) (void *self, Lib3dsLogLevel level, int indent, const char *msg);
64 } Lib3dsIo;
65 
66 /* Atmosphere settings */
67 typedef struct Lib3dsAtmosphere {
68  int use_fog;
69  float fog_color[3];
76  unsigned layer_fog_flags;
77  float layer_fog_color[3];
82  int dist_cue_background; /* bool */
88 
89 /* Background settings */
90 typedef struct Lib3dsBackground {
92  char bitmap_name[64];
93  int use_solid;
94  float solid_color[3];
97  float gradient_top[3];
98  float gradient_middle[3];
99  float gradient_bottom[3];
101 
102 /* Shadow settings */
103 typedef struct Lib3dsShadow {
104  short map_size; /* Global shadow map size that ranges from 10 to 4096 */
105  float low_bias; /* Global shadow low bias */
106  float hi_bias; /* Global shadow hi bias */
107  float filter; /* Global shadow filter that ranges from 1 (lowest) to 10 (highest) */
108  float ray_bias; /* Global raytraced shadow bias */
109 } Lib3dsShadow;
110 
111 /* Layout view types */
112 typedef enum Lib3dsViewType {
124 
125 /* Layout styles */
126 typedef enum Lib3dsLayoutStyle {
140 
141 /* Layout view settings */
142 typedef struct Lib3dsView {
143  int type;
144  unsigned axis_lock;
145  short position[2];
146  short size[2];
147  float zoom;
148  float center[3];
149  float horiz_angle;
150  float vert_angle;
151  char camera[11];
152 } Lib3dsView;
153 
154 #define LIB3DS_LAYOUT_MAX_VIEWS 32
155 
156 /* Viewport and default view settings */
157 typedef struct Lib3dsViewport {
163  unsigned short layout_position[2];
164  unsigned short layout_size[2];
173  char default_camera[64];
175 
176 /* Material texture map flags */
177 typedef enum Lib3dsTextureMapFlags {
188 
189 /* Material texture map */
190 typedef struct Lib3dsTextureMap {
191  unsigned user_id;
192  void* user_ptr;
193  char name[64];
194  unsigned flags;
195  float percent;
196  float blur;
197  float scale[2];
198  float offset[2];
199  float rotation;
200  float tint_1[3];
201  float tint_2[3];
202  float tint_r[3];
203  float tint_g[3];
204  float tint_b[3];
206 
207 /* Auto reflection texture map flags */
213 
214 /* Material shading type */
215 typedef enum Lib3dsShading {
221 } Lib3dsShading;
222 
224 typedef struct Lib3dsMaterial {
225  unsigned user_id;
226  void* user_ptr;
227  char name[64]; /* Material name */
228  float ambient[3]; /* Material ambient reflectivity */
229  float diffuse[3]; /* Material diffuse reflectivity */
230  float specular[3]; /* Material specular reflectivity */
231  float shininess; /* Material specular exponent */
233  int use_blur;
234  float blur;
236  float falloff;
238  int self_illum_flag; /* bool */
239  float self_illum;
241  int shading;
242  int soften; /* bool */
243  int face_map; /* bool */
244  int two_sided; /* Material visible from back */
245  int map_decal; /* bool */
246  int use_wire;
248  float wire_size;
266  int autorefl_map_anti_alias; /* 0=None, 1=Low, 2=Medium, 3=High */
270 
272 typedef enum Lib3dsObjectFlags {
281 
283 typedef struct Lib3dsCamera {
284  unsigned user_id;
285  void* user_ptr;
286  char name[64];
287  unsigned object_flags; /*< @see Lib3dsObjectFlags */
288  float position[3];
289  float target[3];
290  float roll;
291  float fov;
292  int see_cone;
293  float near_range;
294  float far_range;
295 } Lib3dsCamera;
296 
298 typedef struct Lib3dsLight {
299  unsigned user_id;
300  void* user_ptr;
301  char name[64];
302  unsigned object_flags;
303  int spot_light; /* bool */
304  int see_cone;
305  float color[3];
306  float position[3];
307  float target[3];
308  float roll;
309  int off; /* bool */
310  float outer_range;
311  float inner_range;
312  float multiplier;
313  /*const char** excludes;*/
314  float attenuation;
315  int rectangular_spot; /* bool */
316  int shadowed; /* bool */
317  float shadow_bias;
320  float spot_aspect;
322  char projector[64];
323  int spot_overshoot; /* bool */
324  int ray_shadows; /* bool */
325  float ray_bias;
326  float hotspot;
327  float falloff;
328 } Lib3dsLight;
329 
330 /* Texture map projection */
331 typedef enum {
336 } Lib3dsMapType;
337 
340 typedef enum Lib3dsFaceFlags {
350 
351 typedef struct Lib3dsFace {
352  unsigned short index[3];
353  unsigned short flags;
354  int material;
355  unsigned smoothing_group;
356 } Lib3dsFace;
357 
358 /* Triangular mesh object */
359 typedef struct Lib3dsMesh {
360  unsigned user_id;
361  void* user_ptr;
362  char name[64];
363  unsigned object_flags;
364  int color;
365  float matrix[4][4];
366  unsigned short nvertices;
367  float (*vertices)[3];
368  float (*texcos)[2];
369  unsigned short* vflags;
370  unsigned short nfaces;
372  char box_front[64];
373  char box_back[64];
374  char box_left[64];
375  char box_right[64];
376  char box_top[64];
377  char box_bottom[64];
378  int map_type;
379  float map_pos[3];
380  float map_matrix[4][4];
381  float map_scale;
382  float map_tile[2];
383  float map_planar_size[2];
385 } Lib3dsMesh;
386 
387 typedef enum Lib3dsNodeType {
396 
397 typedef enum Lib3dsNodeFlags{
398  LIB3DS_NODE_HIDDEN = 0x000800,
404 
405 typedef struct Lib3dsNode {
406  unsigned user_id;
407  void* user_ptr;
408  struct Lib3dsNode* next;
412  unsigned short node_id;
413  char name[64];
414  unsigned flags;
415  float matrix[4][4];
416 } Lib3dsNode;
417 
418 typedef enum Lib3dsKeyFlags {
425 
426 typedef struct Lib3dsKey {
427  int frame;
428  unsigned flags;
429  float tens;
430  float cont;
431  float bias;
432  float ease_to;
433  float ease_from;
434  float value[4];
435 } Lib3dsKey;
436 
437 typedef enum Lib3dsTrackType {
443 
444 typedef enum {
454 
455 typedef struct Lib3dsTrack {
456  unsigned flags;
458  int nkeys;
460 } Lib3dsTrack;
461 
462 typedef struct Lib3dsAmbientColorNode {
464  float color[3];
467 
468 typedef struct Lib3dsMeshInstanceNode {
470  float pivot[3];
471  char instance_name[64];
472  float bbox_min[3];
473  float bbox_max[3];
474  int hide;
475  float pos[3];
476  float rot[4];
477  float scl[3];
479  char morph[64];
485 
486 typedef struct Lib3dsCameraNode {
488  float pos[3];
489  float fov;
490  float roll;
495 
496 typedef struct Lib3dsTargetNode {
498  float pos[3];
501 
502 typedef struct Lib3dsOmnilightNode {
504  float pos[3];
505  float color[3];
509 
510 typedef struct Lib3dsSpotlightNode {
512  float pos[3];
513  float color[3];
514  float hotspot;
515  float falloff;
516  float roll;
523 
524 typedef struct Lib3dsFile {
525  unsigned user_id;
526  void* user_ptr;
527  unsigned mesh_version;
528  unsigned keyf_revision;
529  char name[12+1];
532  float ambient[3];
538  int frames;
546  int ncameras;
549  int nlights;
552  int nmeshes;
555 } Lib3dsFile;
556 
557 extern LIB3DSAPI Lib3dsFile* lib3ds_file_open(const char *filename);
558 extern LIB3DSAPI int lib3ds_file_save(Lib3dsFile *file, const char *filename);
561 extern LIB3DSAPI void lib3ds_file_eval(Lib3dsFile *file, float t);
564 extern LIB3DSAPI void lib3ds_file_reserve_materials(Lib3dsFile *file, int size, int force);
567 extern LIB3DSAPI int lib3ds_file_material_by_name(Lib3dsFile *file, const char *name);
568 extern LIB3DSAPI void lib3ds_file_reserve_cameras(Lib3dsFile *file, int size, int force);
571 extern LIB3DSAPI int lib3ds_file_camera_by_name(Lib3dsFile *file, const char *name);
572 extern LIB3DSAPI void lib3ds_file_reserve_lights(Lib3dsFile *file, int size, int force);
575 extern LIB3DSAPI int lib3ds_file_light_by_name(Lib3dsFile *file, const char *name);
576 extern LIB3DSAPI void lib3ds_file_reserve_meshes(Lib3dsFile *file, int size, int force);
579 extern LIB3DSAPI int lib3ds_file_mesh_by_name(Lib3dsFile *file, const char *name);
582 extern LIB3DSAPI Lib3dsNode* lib3ds_file_node_by_id(Lib3dsFile *file, unsigned short node_id);
586 extern LIB3DSAPI void lib3ds_file_minmax_node_id(Lib3dsFile *file, unsigned short *min_id, unsigned short *max_id);
588 
589 
602  Lib3dsFile *file,
603  int include_meshes,
604  int include_cameras,
605  int include_lights,
606  float bmin[3],
607  float bmax[3]);
608 
623  Lib3dsFile *file,
624  int include_meshes,
625  int include_cameras,
626  int include_lights,
627  float bmin[3],
628  float bmax[3],
629  float matrix[4][4]);
630 
631 extern LIB3DSAPI Lib3dsMaterial* lib3ds_material_new(const char *name);
632 extern LIB3DSAPI void lib3ds_material_free(Lib3dsMaterial *material);
633 extern LIB3DSAPI Lib3dsCamera* lib3ds_camera_new(const char *name);
634 extern LIB3DSAPI void lib3ds_camera_free(Lib3dsCamera *mesh);
635 extern LIB3DSAPI Lib3dsLight* lib3ds_light_new(const char *name);
636 extern LIB3DSAPI void lib3ds_light_free(Lib3dsLight *mesh);
637 extern LIB3DSAPI Lib3dsMesh* lib3ds_mesh_new(const char *name);
638 extern LIB3DSAPI void lib3ds_mesh_free(Lib3dsMesh *mesh);
639 extern LIB3DSAPI void lib3ds_mesh_resize_vertices(Lib3dsMesh *mesh, int nvertices, int use_texcos, int use_flags);
640 extern LIB3DSAPI void lib3ds_mesh_resize_faces(Lib3dsMesh *mesh, int nfaces);
641 extern LIB3DSAPI void lib3ds_mesh_bounding_box(Lib3dsMesh *mesh, float bmin[3], float bmax[3]);
642 extern LIB3DSAPI void lib3ds_mesh_calculate_face_normals(Lib3dsMesh *mesh, float (*face_normals)[3]);
643 extern LIB3DSAPI void lib3ds_mesh_calculate_vertex_normals(Lib3dsMesh *mesh, float (*normals)[3]);
644 
647 extern LIB3DSAPI Lib3dsMeshInstanceNode* lib3ds_node_new_mesh_instance(Lib3dsMesh *mesh, const char* instance_name, float pos0[3], float scl0[3], float rot0[4]);
653 extern LIB3DSAPI void lib3ds_node_free(Lib3dsNode *node);
654 extern LIB3DSAPI void lib3ds_node_eval(Lib3dsNode *node, float t);
656 extern LIB3DSAPI Lib3dsNode* lib3ds_node_by_id(Lib3dsNode *node, unsigned short node_id);
657 
659 extern LIB3DSAPI void lib3ds_track_free(Lib3dsTrack *track);
660 extern LIB3DSAPI void lib3ds_track_resize(Lib3dsTrack *track, int nkeys);
661 extern LIB3DSAPI void lib3ds_track_eval_bool(Lib3dsTrack *track, int *b, float t);
662 extern LIB3DSAPI void lib3ds_track_eval_float(Lib3dsTrack *track, float *f, float t);
663 extern LIB3DSAPI void lib3ds_track_eval_vector(Lib3dsTrack *track, float v[3], float t);
664 extern LIB3DSAPI void lib3ds_track_eval_quat(Lib3dsTrack *track, float q[4], float t);
665 
675 extern LIB3DSAPI float lib3ds_math_ease(
676  float fp,
677  float fc,
678  float fn,
679  float ease_from,
680  float ease_to);
681 
700  float *v,
701  float *a,
702  float *p,
703  float *q,
704  float *b,
705  int n,
706  float t);
707 
708 extern LIB3DSAPI void lib3ds_vector_make(
709  float c[3],
710  float x,
711  float y,
712  float z);
713 
719 extern LIB3DSAPI void lib3ds_vector_zero(
720  float c[3]);
721 
729 extern LIB3DSAPI void lib3ds_vector_copy(
730  float dst[3],
731  float src[3]);
732 
738 extern LIB3DSAPI void lib3ds_vector_neg(
739  float c[3]);
740 
741 extern LIB3DSAPI void lib3ds_vector_make(float c[3], float x, float y, float z);
742 extern LIB3DSAPI void lib3ds_vector_zero(float c[3]);
743 extern LIB3DSAPI void lib3ds_vector_add(float c[3], float a[3], float b[3]);
744 extern LIB3DSAPI void lib3ds_vector_sub(float c[3], float a[3], float b[3]);
745 extern LIB3DSAPI void lib3ds_vector_scalar_mul(float c[3], float a[3], float k);
746 extern LIB3DSAPI void lib3ds_vector_cross(float c[3], float a[3], float b[3]);
747 extern LIB3DSAPI float lib3ds_vector_dot(float a[3], float b[3]);
748 extern LIB3DSAPI float lib3ds_vector_length(float c[3]);
749 extern LIB3DSAPI void lib3ds_vector_normalize(float c[3]);
750 extern LIB3DSAPI void lib3ds_vector_normal(float n[3], float a[3], float b[3], float c[3]);
751 extern LIB3DSAPI void lib3ds_vector_min(float c[3], float a[3]);
752 extern LIB3DSAPI void lib3ds_vector_max(float c[3], float a[3]);
753 extern LIB3DSAPI void lib3ds_vector_transform(float c[3], float m[4][4], float a[3]);
754 
755 extern LIB3DSAPI void lib3ds_quat_identity(float c[4]);
756 extern LIB3DSAPI void lib3ds_quat_copy(float dest[4], float src[4]);
757 extern LIB3DSAPI void lib3ds_quat_axis_angle(float c[4], float axis[3], float angle);
758 extern LIB3DSAPI void lib3ds_quat_neg(float c[4]);
759 extern LIB3DSAPI void lib3ds_quat_cnj(float c[4]);
760 extern LIB3DSAPI void lib3ds_quat_mul(float c[4], float a[4], float b[4]);
761 extern LIB3DSAPI void lib3ds_quat_scalar(float c[4], float k);
762 extern LIB3DSAPI void lib3ds_quat_normalize(float c[4]);
763 extern LIB3DSAPI void lib3ds_quat_inv(float c[4]);
764 extern LIB3DSAPI float lib3ds_quat_dot(float a[4], float b[4]);
765 extern LIB3DSAPI float lib3ds_quat_norm(float c[4]);
766 extern LIB3DSAPI void lib3ds_quat_ln(float c[4]);
767 extern LIB3DSAPI void lib3ds_quat_ln_dif(float c[4], float a[4], float b[4]);
768 extern LIB3DSAPI void lib3ds_quat_exp(float c[4]);
769 extern LIB3DSAPI void lib3ds_quat_slerp(float c[4], float a[4], float b[4], float t);
770 extern LIB3DSAPI void lib3ds_quat_squad(float c[4], float a[4], float p[4], float q[4], float b[4], float t);
771 extern LIB3DSAPI void lib3ds_quat_tangent(float c[4], float p[4], float q[4], float n[4]);
772 
773 extern LIB3DSAPI void lib3ds_matrix_zero(float m[4][4]);
774 extern LIB3DSAPI void lib3ds_matrix_identity(float m[4][4]);
775 extern LIB3DSAPI void lib3ds_matrix_copy(float dest[4][4], float src[4][4]);
776 extern LIB3DSAPI void lib3ds_matrix_neg(float m[4][4]);
777 extern LIB3DSAPI void lib3ds_matrix_transpose(float m[4][4]);
778 extern LIB3DSAPI void lib3ds_matrix_add(float m[4][4], float a[4][4], float b[4][4]);
779 extern LIB3DSAPI void lib3ds_matrix_sub(float m[4][4], float a[4][4], float b[4][4]);
780 extern LIB3DSAPI void lib3ds_matrix_mult(float m[4][4], float a[4][4], float b[4][4]);
781 extern LIB3DSAPI void lib3ds_matrix_scalar(float m[4][4], float k);
782 extern LIB3DSAPI float lib3ds_matrix_det(float m[4][4]);
783 extern LIB3DSAPI int lib3ds_matrix_inv(float m[4][4]);
784 extern LIB3DSAPI void lib3ds_matrix_translate(float m[4][4], float x, float y, float z);
785 extern LIB3DSAPI void lib3ds_matrix_scale(float m[4][4], float x, float y, float z);
786 extern LIB3DSAPI void lib3ds_matrix_rotate_quat(float m[4][4], float q[4]);
787 extern LIB3DSAPI void lib3ds_matrix_rotate(float m[4][4], float angle, float ax, float ay, float az);
788 extern LIB3DSAPI void lib3ds_matrix_camera(float m[4][4], float pos[3], float tgt[3], float roll);
789 
791 #ifdef __cplusplus
792 }
793 #endif
794 #endif
795 
Lib3dsTextureMap self_illum_map
Definition: lib3ds.h:261
LIB3DSAPI int lib3ds_file_read(Lib3dsFile *file, Lib3dsIo *io)
Definition: lib3ds_file.c:595
unsigned short flags
Definition: lib3ds.h:353
Lib3dsNode * nodes
Definition: lib3ds.h:554
unsigned short layout_position[2]
Definition: lib3ds.h:163
LIB3DSAPI void lib3ds_track_resize(Lib3dsTrack *track, int nkeys)
Definition: lib3ds_track.c:40
Lib3dsFaceFlags
Definition: lib3ds.h:340
unsigned short * vflags
Definition: lib3ds.h:369
int layout_swap_view
Definition: lib3ds.h:162
LIB3DSAPI void lib3ds_vector_transform(float c[3], float m[4][4], float a[3])
int segment_from
Definition: lib3ds.h:539
LIB3DSAPI void lib3ds_math_cubic_interp(float *v, float *a, float *p, float *q, float *b, int n, float t)
Definition: lib3ds_math.c:51
struct Lib3dsBackground Lib3dsBackground
Lib3dsTrack pos_track
Definition: lib3ds.h:506
LIB3DSAPI Lib3dsCameraNode * lib3ds_node_new_camera(Lib3dsCamera *camera)
Definition: lib3ds_node.c:168
unsigned short nfaces
Definition: lib3ds.h:370
int use_dist_cue
Definition: lib3ds.h:81
Lib3dsTrack fov_track
Definition: lib3ds.h:492
unsigned short nvertices
Definition: lib3ds.h:366
int ncameras
Definition: lib3ds.h:546
LIB3DSAPI Lib3dsFile * lib3ds_file_new()
Definition: lib3ds_file.c:160
Lib3dsTextureMapFlags
Definition: lib3ds.h:177
Lib3dsObjectFlags
Definition: lib3ds.h:272
LIB3DSAPI Lib3dsMesh * lib3ds_file_mesh_for_node(Lib3dsFile *file, Lib3dsNode *node)
Definition: lib3ds_file.c:1071
float map_cylinder_height
Definition: lib3ds.h:384
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])
Definition: lib3ds_file.c:1394
LIB3DSAPI void lib3ds_material_free(Lib3dsMaterial *material)
LIB3DSAPI void lib3ds_file_insert_camera(Lib3dsFile *file, Lib3dsCamera *camera, int index)
Definition: lib3ds_file.c:971
Lib3dsNode base
Definition: lib3ds.h:487
int face_map
Definition: lib3ds.h:243
float gradient_percent
Definition: lib3ds.h:96
LIB3DSAPI void lib3ds_matrix_rotate_quat(float m[4][4], float q[4])
int layout_style
Definition: lib3ds.h:158
LIB3DSAPI void lib3ds_matrix_add(float m[4][4], float a[4][4], float b[4][4])
Definition: lib3ds_matrix.c:98
Lib3dsTrack color_track
Definition: lib3ds.h:518
float default_roll_angle
Definition: lib3ds.h:172
float shadow_filter
Definition: lib3ds.h:318
unsigned user_id
Definition: lib3ds.h:299
float ray_bias
Definition: lib3ds.h:108
unsigned flags
Definition: lib3ds.h:456
LIB3DSAPI void lib3ds_quat_slerp(float c[4], float a[4], float b[4], float t)
Definition: lib3ds_quat.c:234
struct Lib3dsIo Lib3dsIo
short map_size
Definition: lib3ds.h:104
GLint GLenum GLsizei GLsizei GLsizei GLint GLenum GLenum type
Definition: gl2ext.h:845
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
Definition: SDL_glfuncs.h:144
Lib3dsTrackFlags
Definition: lib3ds.h:444
GLvoid **typedef void(GLAPIENTRY *PFNGLGETVERTEXATTRIBDVPROC)(GLuint
Definition: glew.h:1824
int autorefl_map_frame_step
Definition: lib3ds.h:268
float specular[3]
Definition: lib3ds.h:230
GLuint color
Definition: glew.h:7185
float transparency
Definition: lib3ds.h:235
float default_vert_angle
Definition: lib3ds.h:171
Lib3dsNode base
Definition: lib3ds.h:497
float map_pos[3]
Definition: lib3ds.h:379
float default_position[3]
Definition: lib3ds.h:168
LIB3DSAPI Lib3dsOmnilightNode * lib3ds_node_new_omnilight(Lib3dsLight *light)
Definition: lib3ds_node.c:208
unsigned user_id
Definition: lib3ds.h:406
float dist_cue_near_plane
Definition: lib3ds.h:83
struct Lib3dsView Lib3dsView
int segment_to
Definition: lib3ds.h:540
GLclampf f
Definition: glew.h:3390
int fog_background
Definition: lib3ds.h:70
int color
Definition: lib3ds.h:364
float filter
Definition: lib3ds.h:107
LIB3DSAPI void lib3ds_quat_squad(float c[4], float a[4], float p[4], float q[4], float b[4], float t)
Definition: lib3ds_quat.c:264
float layer_fog_color[3]
Definition: lib3ds.h:77
float inner_range
Definition: lib3ds.h:311
int use_wire
Definition: lib3ds.h:246
Lib3dsTextureMap texture1_mask
Definition: lib3ds.h:250
LIB3DSAPI Lib3dsAmbientColorNode * lib3ds_node_new_ambient_color(float color0[3])
Definition: lib3ds_node.c:108
LIB3DSAPI void lib3ds_file_reserve_meshes(Lib3dsFile *file, int size, int force)
Definition: lib3ds_file.c:1035
Lib3dsTextureMap specular_map
Definition: lib3ds.h:257
LIB3DSAPI void lib3ds_quat_exp(float c[4])
Definition: lib3ds_quat.c:214
GLdouble angle
Definition: glew.h:8396
int32_t k
Definition: e_log.c:102
int shadowed
Definition: lib3ds.h:316
LIB3DSAPI float lib3ds_math_ease(float fp, float fc, float fn, float ease_from, float ease_to)
Definition: lib3ds_math.c:22
LIB3DSAPI int lib3ds_file_write(Lib3dsFile *file, Lib3dsIo *io)
Definition: lib3ds_file.c:892
GLclampd n
Definition: glew.h:7287
struct Lib3dsShadow Lib3dsShadow
Lib3dsNodeType type
Definition: lib3ds.h:411
LIB3DSAPI void lib3ds_file_reserve_cameras(Lib3dsFile *file, int size, int force)
Definition: lib3ds_file.c:963
float map_tile[2]
Definition: lib3ds.h:382
char projector[64]
Definition: lib3ds.h:322
float map_scale
Definition: lib3ds.h:381
void * user_ptr
Definition: lib3ds.h:407
int type
Definition: lib3ds.h:143
int lights_size
Definition: lib3ds.h:548
EGLSurface EGLint x
Definition: eglext.h:293
int frames
Definition: lib3ds.h:538
float(* vertices)[3]
Definition: lib3ds.h:367
float ease_from
Definition: lib3ds.h:433
Lib3dsTrack pos_track
Definition: lib3ds.h:491
float construction_plane[3]
Definition: lib3ds.h:531
GLdouble GLdouble t
Definition: glew.h:1384
LIB3DSAPI void lib3ds_file_reserve_materials(Lib3dsFile *file, int size, int force)
Definition: lib3ds_file.c:927
int autorefl_map_size
Definition: lib3ds.h:267
LIB3DSAPI Lib3dsTargetNode * lib3ds_node_new_spotlight_target(Lib3dsLight *light)
float pos[3]
Definition: lib3ds.h:504
int use_wire_abs
Definition: lib3ds.h:247
Lib3dsTextureMap texture1_map
Definition: lib3ds.h:249
FILE * file
Definition: visualinfo.c:88
Lib3dsKey * keys
Definition: lib3ds.h:459
LIB3DSAPI Lib3dsCamera * lib3ds_camera_new(const char *name)
Definition: lib3ds_camera.c:32
Lib3dsTrack color_track
Definition: lib3ds.h:465
float position[3]
Definition: lib3ds.h:288
Lib3dsNode base
Definition: lib3ds.h:503
LIB3DSAPI Lib3dsMaterial * lib3ds_material_new(const char *name)
GLboolean GLboolean GLboolean GLboolean a
Definition: glew.h:8736
LIB3DSAPI float lib3ds_quat_norm(float c[4])
Definition: lib3ds_quat.c:176
Lib3dsBackground background
Definition: lib3ds.h:534
LIB3DSAPI void lib3ds_matrix_rotate(float m[4][4], float angle, float ax, float ay, float az)
EGLImageKHR EGLint * name
Definition: eglext.h:284
LIB3DSAPI int lib3ds_file_mesh_by_name(Lib3dsFile *file, const char *name)
Definition: lib3ds_file.c:1057
float wire_size
Definition: lib3ds.h:248
LIB3DSAPI void lib3ds_matrix_scale(float m[4][4], float x, float y, float z)
unsigned user_id
Definition: lib3ds.h:360
int see_cone
Definition: lib3ds.h:292
#define LIB3DS_LAYOUT_MAX_VIEWS
Definition: lib3ds.h:154
#define LIB3DSAPI
Definition: lib3ds.h:32
Lib3dsFace * faces
Definition: lib3ds.h:371
LIB3DSAPI void lib3ds_quat_neg(float c[4])
Definition: lib3ds_quat.c:74
LIB3DSAPI void lib3ds_matrix_identity(float m[4][4])
Definition: lib3ds_matrix.c:42
LIB3DSAPI void lib3ds_quat_identity(float c[4])
Definition: lib3ds_quat.c:25
unsigned object_flags
Definition: lib3ds.h:302
Lib3dsTextureMap bump_mask
Definition: lib3ds.h:256
LIB3DSAPI void lib3ds_file_append_node(Lib3dsFile *file, Lib3dsNode *node, Lib3dsNode *parent)
Definition: lib3ds_file.c:1148
float self_illum
Definition: lib3ds.h:239
LIB3DSAPI void lib3ds_file_remove_camera(Lib3dsFile *file, int index)
Definition: lib3ds_file.c:978
LIB3DSAPI void lib3ds_file_remove_light(Lib3dsFile *file, int index)
Definition: lib3ds_file.c:1014
int use_projector
Definition: lib3ds.h:321
float gradient_bottom[3]
Definition: lib3ds.h:99
float map_matrix[4][4]
Definition: lib3ds.h:380
LIB3DSAPI void lib3ds_mesh_calculate_face_normals(Lib3dsMesh *mesh, float(*face_normals)[3])
Definition: lib3ds_mesh.c:118
float percent
Definition: lib3ds.h:195
float vert_angle
Definition: lib3ds.h:150
unsigned flags
Definition: lib3ds.h:194
unsigned autorefl_map_flags
Definition: lib3ds.h:265
LIB3DSAPI void lib3ds_node_eval(Lib3dsNode *node, float t)
Definition: lib3ds_node.c:362
int two_sided
Definition: lib3ds.h:244
LIB3DSAPI void lib3ds_matrix_mult(float m[4][4], float a[4][4], float b[4][4])
char bitmap_name[64]
Definition: lib3ds.h:92
int nmeshes
Definition: lib3ds.h:552
LIB3DSAPI void lib3ds_quat_ln_dif(float c[4], float a[4], float b[4])
Definition: lib3ds_quat.c:203
float gradient_top[3]
Definition: lib3ds.h:97
LIB3DSAPI void lib3ds_file_eval(Lib3dsFile *file, float t)
Definition: lib3ds_file.c:214
float solid_color[3]
Definition: lib3ds.h:94
float tint_g[3]
Definition: lib3ds.h:203
float roll
Definition: lib3ds.h:290
float rotation
Definition: lib3ds.h:199
float low_bias
Definition: lib3ds.h:105
unsigned short node_id
Definition: lib3ds.h:412
Lib3dsAutoReflMapFlags
Definition: lib3ds.h:208
LIB3DSAPI void lib3ds_file_free(Lib3dsFile *file)
Definition: lib3ds_file.c:187
LIB3DSAPI void lib3ds_quat_inv(float c[4])
Definition: lib3ds_quat.c:149
LIB3DSAPI void lib3ds_vector_max(float c[3], float a[3])
struct Lib3dsLight Lib3dsLight
Lib3dsViewport viewport
Definition: lib3ds.h:536
int meshes_size
Definition: lib3ds.h:551
unsigned axis_lock
Definition: lib3ds.h:144
LIB3DSAPI void lib3ds_file_reserve_lights(Lib3dsFile *file, int size, int force)
Definition: lib3ds_file.c:999
Lib3dsTextureMap specular_mask
Definition: lib3ds.h:258
EGLContext EGLenum target
Definition: eglext.h:87
float roll
Definition: lib3ds.h:308
float tint_b[3]
Definition: lib3ds.h:204
LIB3DSAPI int lib3ds_file_camera_by_name(Lib3dsFile *file, const char *name)
Definition: lib3ds_file.c:985
Lib3dsTextureMap reflection_mask
Definition: lib3ds.h:264
Lib3dsTrack pos_track
Definition: lib3ds.h:480
float spot_aspect
Definition: lib3ds.h:320
char box_back[64]
Definition: lib3ds.h:373
EGLContext EGLenum EGLClientBuffer buffer
Definition: eglext.h:87
float gradient_middle[3]
Definition: lib3ds.h:98
LIB3DSAPI void lib3ds_file_insert_mesh(Lib3dsFile *file, Lib3dsMesh *mesh, int index)
Definition: lib3ds_file.c:1043
float dist_cue_far_dimming
Definition: lib3ds.h:86
float default_width
Definition: lib3ds.h:169
int current_frame
Definition: lib3ds.h:541
int layout_nviews
Definition: lib3ds.h:165
LIB3DSAPI void lib3ds_quat_scalar(float c[4], float k)
Definition: lib3ds_quat.c:116
LIB3DSAPI void lib3ds_camera_free(Lib3dsCamera *mesh)
Definition: lib3ds_camera.c:54
Lib3dsView layout_views[LIB3DS_LAYOUT_MAX_VIEWS]
Definition: lib3ds.h:166
LIB3DSAPI void lib3ds_vector_min(float c[3], float a[3])
Lib3dsShadow shadow
Definition: lib3ds.h:533
LIB3DSAPI Lib3dsTargetNode * lib3ds_node_new_camera_target(Lib3dsCamera *camera)
Definition: lib3ds_node.c:191
int autorefl_map_anti_alias
Definition: lib3ds.h:266
LIB3DSAPI void lib3ds_vector_copy(float dst[3], float src[3])
Definition: lib3ds_vector.c:39
Lib3dsTrack hotspot_track
Definition: lib3ds.h:519
int layout_active
Definition: lib3ds.h:159
LIB3DSAPI Lib3dsNode * lib3ds_node_new(Lib3dsNodeType type)
Definition: lib3ds_node.c:30
float pos[3]
Definition: lib3ds.h:488
float far_range
Definition: lib3ds.h:294
LIB3DSAPI void lib3ds_light_free(Lib3dsLight *mesh)
Definition: lib3ds_light.c:38
LIB3DSAPI void lib3ds_track_eval_vector(Lib3dsTrack *track, float v[3], float t)
Definition: lib3ds_track.c:357
Lib3dsTextureMap opacity_mask
Definition: lib3ds.h:254
unsigned object_flags
Definition: lib3ds.h:363
float tens
Definition: lib3ds.h:429
const GLdouble * v
Definition: glew.h:1377
Lib3dsTrackType
Definition: lib3ds.h:437
LIB3DSAPI void lib3ds_track_eval_bool(Lib3dsTrack *track, int *b, float t)
Definition: lib3ds_track.c:277
struct Lib3dsNode * next
Definition: lib3ds.h:408
GLenum GLenum dst
Definition: glew.h:2396
LIB3DSAPI int lib3ds_file_light_by_name(Lib3dsFile *file, const char *name)
Definition: lib3ds_file.c:1021
void * user_ptr
Definition: lib3ds.h:526
LIB3DSAPI void lib3ds_quat_ln(float c[4])
Definition: lib3ds_quat.c:182
LIB3DSAPI Lib3dsLight * lib3ds_light_new(const char *name)
Definition: lib3ds_light.c:22
unsigned user_id
Definition: lib3ds.h:225
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])
Definition: lib3ds_file.c:1283
float diffuse[3]
Definition: lib3ds.h:229
int nmaterials
Definition: lib3ds.h:543
Lib3dsTrackType type
Definition: lib3ds.h:457
float horiz_angle
Definition: lib3ds.h:149
int default_type
Definition: lib3ds.h:167
float ambient[3]
Definition: lib3ds.h:532
float hotspot
Definition: lib3ds.h:326
struct Lib3dsAmbientColorNode Lib3dsAmbientColorNode
Lib3dsIoSeek
Definition: lib3ds.h:43
int materials_size
Definition: lib3ds.h:542
float shin_strength
Definition: lib3ds.h:232
LIB3DSAPI int lib3ds_file_save(Lib3dsFile *file, const char *filename)
Definition: lib3ds_file.c:129
float layer_fog_far_y
Definition: lib3ds.h:79
struct Lib3dsCamera Lib3dsCamera
float tint_1[3]
Definition: lib3ds.h:200
LIB3DSAPI void lib3ds_mesh_free(Lib3dsMesh *mesh)
Definition: lib3ds_mesh.c:57
char box_right[64]
Definition: lib3ds.h:375
struct Lib3dsSpotlightNode Lib3dsSpotlightNode
char box_front[64]
Definition: lib3ds.h:372
int map_type
Definition: lib3ds.h:378
LIB3DSAPI void lib3ds_vector_make(float c[3], float x, float y, float z)
Definition: lib3ds_vector.c:22
Lib3dsViewType
Definition: lib3ds.h:112
Lib3dsViewport viewport_keyf
Definition: lib3ds.h:537
GLfloat GLfloat p
Definition: glew.h:14938
LIB3DSAPI void lib3ds_vector_zero(float c[3])
Definition: lib3ds_vector.c:30
unsigned short layout_size[2]
Definition: lib3ds.h:164
float multiplier
Definition: lib3ds.h:312
struct Lib3dsCameraNode Lib3dsCameraNode
const GLfloat * c
Definition: glew.h:14913
int ray_shadows
Definition: lib3ds.h:324
int spot_overshoot
Definition: lib3ds.h:323
int layout_swap
Definition: lib3ds.h:160
LIB3DSAPI void lib3ds_file_remove_node(Lib3dsFile *file, Lib3dsNode *node)
Definition: lib3ds_file.c:1211
long(* seek_func)(void *self, long offset, Lib3dsIoSeek origin)
Definition: lib3ds.h:59
Lib3dsAtmosphere atmosphere
Definition: lib3ds.h:535
LIB3DSAPI void lib3ds_file_remove_mesh(Lib3dsFile *file, int index)
Definition: lib3ds_file.c:1050
LIB3DSAPI Lib3dsMesh * lib3ds_mesh_new(const char *name)
Definition: lib3ds_mesh.c:34
unsigned user_id
Definition: lib3ds.h:525
short position[2]
Definition: lib3ds.h:145
int off
Definition: lib3ds.h:309
LIB3DSAPI int lib3ds_file_material_by_name(Lib3dsFile *file, const char *name)
Definition: lib3ds_file.c:949
LIB3DSAPI void lib3ds_vector_normalize(float c[3])
LIB3DSAPI void lib3ds_node_free(Lib3dsNode *node)
Definition: lib3ds_node.c:346
float fog_far_plane
Definition: lib3ds.h:73
float attenuation
Definition: lib3ds.h:314
struct Lib3dsTextureMap Lib3dsTextureMap
Lib3dsMapType
Definition: lib3ds.h:331
float fog_color[3]
Definition: lib3ds.h:69
Lib3dsTrack rot_track
Definition: lib3ds.h:481
Lib3dsLayoutStyle
Definition: lib3ds.h:126
unsigned mesh_version
Definition: lib3ds.h:527
char camera[11]
Definition: lib3ds.h:151
float fov
Definition: lib3ds.h:291
LIB3DSAPI void lib3ds_track_eval_quat(Lib3dsTrack *track, float q[4], float t)
Definition: lib3ds_track.c:367
LIB3DSAPI float lib3ds_quat_dot(float a[4], float b[4])
Definition: lib3ds_quat.c:170
Lib3dsLogLevel
Definition: lib3ds.h:49
LIB3DSAPI void lib3ds_vector_normal(float n[3], float a[3], float b[3], float c[3])
Lib3dsKeyFlags
Definition: lib3ds.h:418
GLuint index
Definition: glew.h:1800
float ray_bias
Definition: lib3ds.h:325
Lib3dsTextureMap texture2_mask
Definition: lib3ds.h:252
Lib3dsLight ** lights
Definition: lib3ds.h:550
LIB3DSAPI void lib3ds_file_remove_material(Lib3dsFile *file, int index)
Definition: lib3ds_file.c:942
float fog_far_density
Definition: lib3ds.h:74
Lib3dsShading
Definition: lib3ds.h:215
Lib3dsNodeFlags
Definition: lib3ds.h:397
Lib3dsMesh ** meshes
Definition: lib3ds.h:553
struct Lib3dsTargetNode Lib3dsTargetNode
Lib3dsTextureMap reflection_map
Definition: lib3ds.h:263
float fog_near_density
Definition: lib3ds.h:72
LIB3DSAPI void lib3ds_quat_normalize(float c[4])
Definition: lib3ds_quat.c:128
int use_gradient
Definition: lib3ds.h:95
float layer_fog_density
Definition: lib3ds.h:80
int use_falloff
Definition: lib3ds.h:240
GLuint GLenum matrix
Definition: glew.h:13408
LIB3DSAPI void lib3ds_quat_cnj(float c[4])
Definition: lib3ds_quat.c:86
void * user_ptr
Definition: lib3ds.h:361
int spot_light
Definition: lib3ds.h:303
GLenum GLenum GLenum GLenum GLenum scale
Definition: glew.h:12632
int map_decal
Definition: lib3ds.h:245
unsigned user_id
Definition: lib3ds.h:284
LIB3DSAPI void lib3ds_mesh_resize_vertices(Lib3dsMesh *mesh, int nvertices, int use_texcos, int use_flags)
Definition: lib3ds_mesh.c:66
LIB3DSAPI void lib3ds_file_insert_node(Lib3dsFile *file, Lib3dsNode *node, Lib3dsNode *at)
Definition: lib3ds_file.c:1172
float hi_bias
Definition: lib3ds.h:106
int use_blur
Definition: lib3ds.h:233
LIB3DSAPI void lib3ds_vector_add(float c[3], float a[3], float b[3])
Definition: lib3ds_vector.c:55
int use_layer_fog
Definition: lib3ds.h:75
char instance_name[64]
Definition: lib3ds.h:471
long(* tell_func)(void *self)
Definition: lib3ds.h:60
float dist_cue_near_dimming
Definition: lib3ds.h:84
char default_camera[64]
Definition: lib3ds.h:173
float falloff
Definition: lib3ds.h:236
LIB3DSAPI Lib3dsMeshInstanceNode * lib3ds_node_new_mesh_instance(Lib3dsMesh *mesh, const char *instance_name, float pos0[3], float scl0[3], float rot0[4])
Definition: lib3ds_node.c:127
float(* texcos)[2]
Definition: lib3ds.h:368
int frame
Definition: lib3ds.h:427
EGLSurface EGLint EGLint y
Definition: eglext.h:293
int layout_swap_prior
Definition: lib3ds.h:161
LIB3DSAPI void lib3ds_matrix_neg(float m[4][4])
Definition: lib3ds_matrix.c:65
Lib3dsTextureMap opacity_map
Definition: lib3ds.h:253
LIB3DSAPI void lib3ds_file_minmax_node_id(Lib3dsFile *file, unsigned short *min_id, unsigned short *max_id)
Definition: lib3ds_file.c:1266
int see_cone
Definition: lib3ds.h:304
void(* log_func)(void *self, Lib3dsLogLevel level, int indent, const char *msg)
Definition: lib3ds.h:63
float zoom
Definition: lib3ds.h:147
LIB3DSAPI void lib3ds_mesh_bounding_box(Lib3dsMesh *mesh, float bmin[3], float bmax[3])
Definition: lib3ds_mesh.c:105
float center[3]
Definition: lib3ds.h:148
int dist_cue_background
Definition: lib3ds.h:82
size_t(* write_func)(void *self, const void *buffer, size_t size)
Definition: lib3ds.h:62
Lib3dsTrack roll_track
Definition: lib3ds.h:521
EGLSurface EGLint void ** value
Definition: eglext.h:301
float blur
Definition: lib3ds.h:234
LIB3DSAPI Lib3dsNode * lib3ds_file_node_by_id(Lib3dsFile *file, unsigned short node_id)
Definition: lib3ds_file.c:1130
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)
Definition: lib3ds_vector.c:86
struct Lib3dsFile Lib3dsFile
Lib3dsTrack color_track
Definition: lib3ds.h:507
struct Lib3dsNode * childs
Definition: lib3ds.h:409
int nkeys
Definition: lib3ds.h:458
LIB3DSAPI void lib3ds_vector_sub(float c[3], float a[3], float b[3])
Definition: lib3ds_vector.c:71
Lib3dsTextureMap shininess_map
Definition: lib3ds.h:259
GLintptr offset
Definition: glew.h:1668
LIB3DSAPI void lib3ds_mesh_calculate_vertex_normals(Lib3dsMesh *mesh, float(*normals)[3])
Definition: lib3ds_mesh.c:163
void * user_ptr
Definition: lib3ds.h:300
LIB3DSAPI void lib3ds_matrix_camera(float m[4][4], float pos[3], float tgt[3], float roll)
float pos[3]
Definition: lib3ds.h:512
struct Lib3dsOmnilightNode Lib3dsOmnilightNode
int self_illum_flag
Definition: lib3ds.h:238
float master_scale
Definition: lib3ds.h:530
LIB3DSAPI void lib3ds_file_insert_light(Lib3dsFile *file, Lib3dsLight *light, int index)
Definition: lib3ds_file.c:1007
float cont
Definition: lib3ds.h:430
float near_range
Definition: lib3ds.h:293
LIB3DSAPI void lib3ds_track_eval_float(Lib3dsTrack *track, float *f, float t)
Definition: lib3ds_track.c:347
char box_left[64]
Definition: lib3ds.h:374
int rectangular_spot
Definition: lib3ds.h:315
GLdouble GLdouble GLdouble GLdouble q
Definition: glew.h:1400
LIB3DSAPI void lib3ds_matrix_scalar(float m[4][4], float k)
unsigned user_id
Definition: lib3ds.h:191
char box_top[64]
Definition: lib3ds.h:376
unsigned keyf_revision
Definition: lib3ds.h:528
LIB3DSAPI void lib3ds_quat_mul(float c[4], float a[4], float b[4])
Definition: lib3ds_quat.c:101
Lib3dsTrack pos_track
Definition: lib3ds.h:517
LIB3DSAPI void lib3ds_matrix_zero(float m[4][4])
Definition: lib3ds_matrix.c:27
GLint level
Definition: gl2ext.h:845
struct Lib3dsMeshInstanceNode Lib3dsMeshInstanceNode
float shininess
Definition: lib3ds.h:231
float map_planar_size[2]
Definition: lib3ds.h:383
LIB3DSAPI void lib3ds_vector_cross(float c[3], float a[3], float b[3])
LIB3DSAPI void lib3ds_mesh_resize_faces(Lib3dsMesh *mesh, int nfaces)
Definition: lib3ds_mesh.c:86
struct Lib3dsFace Lib3dsFace
void * impl
Definition: lib3ds.h:57
LIB3DSAPI void lib3ds_matrix_sub(float m[4][4], float a[4][4], float b[4][4])
float fog_near_plane
Definition: lib3ds.h:71
struct Lib3dsTrack Lib3dsTrack
size_t(* read_func)(void *self, void *buffer, size_t size)
Definition: lib3ds.h:61
Lib3dsTrack scl_track
Definition: lib3ds.h:482
unsigned object_flags
Definition: lib3ds.h:287
GLdouble GLdouble GLdouble b
Definition: glew.h:8383
GLint GLint GLint GLint z
Definition: gl2ext.h:1214
struct Lib3dsNode Lib3dsNode
LIB3DSAPI int lib3ds_matrix_inv(float m[4][4])
int material
Definition: lib3ds.h:354
Lib3dsNode base
Definition: lib3ds.h:511
LIB3DSAPI float lib3ds_vector_dot(float a[3], float b[3])
LIB3DSAPI Lib3dsNode * lib3ds_node_by_name(Lib3dsNode *node, const char *name, Lib3dsNodeType type)
Definition: lib3ds_node.c:491
LIB3DSAPI Lib3dsFile * lib3ds_file_open(const char *filename)
Definition: lib3ds_file.c:83
unsigned layer_fog_flags
Definition: lib3ds.h:76
LIB3DSAPI Lib3dsNode * lib3ds_node_by_id(Lib3dsNode *node, unsigned short node_id)
Definition: lib3ds_node.c:518
float ambient[3]
Definition: lib3ds.h:228
float outer_range
Definition: lib3ds.h:310
Lib3dsTextureMap texture2_map
Definition: lib3ds.h:251
struct Lib3dsNode * parent
Definition: lib3ds.h:410
Lib3dsTrack hide_track
Definition: lib3ds.h:483
LIB3DSAPI Lib3dsSpotlightNode * lib3ds_node_new_spotlight(Lib3dsLight *light)
Definition: lib3ds_node.c:228
LIB3DSAPI float lib3ds_matrix_det(float m[4][4])
float tint_r[3]
Definition: lib3ds.h:202
unsigned smoothing_group
Definition: lib3ds.h:355
LIB3DSAPI void lib3ds_quat_tangent(float c[4], float p[4], float q[4], float n[4])
Definition: lib3ds_quat.c:275
LIB3DSAPI void lib3ds_track_free(Lib3dsTrack *track)
Definition: lib3ds_track.c:31
GLenum src
Definition: glew.h:2396
Lib3dsTextureMap shininess_mask
Definition: lib3ds.h:260
Lib3dsCamera ** cameras
Definition: lib3ds.h:547
struct Lib3dsViewport Lib3dsViewport
void * user_ptr
Definition: lib3ds.h:285
float dist_cue_far_plane
Definition: lib3ds.h:85
LIB3DSAPI float lib3ds_vector_length(float c[3])
float position[3]
Definition: lib3ds.h:306
float bias
Definition: lib3ds.h:431
float layer_fog_near_y
Definition: lib3ds.h:78
Lib3dsNode base
Definition: lib3ds.h:463
float falloff
Definition: lib3ds.h:327
LIB3DSAPI void lib3ds_quat_axis_angle(float c[4], float axis[3], float angle)
Definition: lib3ds_quat.c:51
LIB3DSAPI Lib3dsNode * lib3ds_file_node_by_name(Lib3dsFile *file, const char *name, Lib3dsNodeType type)
Definition: lib3ds_file.c:1100
LIB3DSAPI void lib3ds_matrix_transpose(float m[4][4])
Definition: lib3ds_matrix.c:80
float ease_to
Definition: lib3ds.h:432
int shadow_size
Definition: lib3ds.h:319
struct Lib3dsKey Lib3dsKey
int nlights
Definition: lib3ds.h:549
Lib3dsNode base
Definition: lib3ds.h:469
float pos[3]
Definition: lib3ds.h:498
Lib3dsTextureMap self_illum_mask
Definition: lib3ds.h:262
Lib3dsTrack pos_track
Definition: lib3ds.h:499
LIB3DSAPI void lib3ds_vector_neg(float c[3])
char box_bottom[64]
Definition: lib3ds.h:377
int use_bitmap
Definition: lib3ds.h:91
LIB3DSAPI void lib3ds_file_insert_material(Lib3dsFile *file, Lib3dsMaterial *material, int index)
Definition: lib3ds_file.c:935
void * user_ptr
Definition: lib3ds.h:226
int is_additive
Definition: lib3ds.h:237
unsigned flags
Definition: lib3ds.h:414
float shadow_bias
Definition: lib3ds.h:317
LIB3DSAPI Lib3dsTrack * lib3ds_track_new(Lib3dsTrackType type, int nkeys)
Definition: lib3ds_track.c:22
LIB3DSAPI void lib3ds_quat_copy(float dest[4], float src[4])
Definition: lib3ds_quat.c:35
Lib3dsMaterial ** materials
Definition: lib3ds.h:544
LIB3DSAPI void lib3ds_file_create_nodes_for_meshes(Lib3dsFile *file)
Definition: lib3ds_file.c:1417
Lib3dsTrack roll_track
Definition: lib3ds.h:493
float default_horiz_angle
Definition: lib3ds.h:170
int cameras_size
Definition: lib3ds.h:545
Lib3dsNodeType
Definition: lib3ds.h:387
unsigned int size_t
float tint_2[3]
Definition: lib3ds.h:201
LIB3DSAPI void lib3ds_matrix_copy(float dest[4][4], float src[4][4])
Definition: lib3ds_matrix.c:56
void * user_ptr
Definition: lib3ds.h:192
Lib3dsTrack falloff_track
Definition: lib3ds.h:520
unsigned flags
Definition: lib3ds.h:428
struct Lib3dsMesh Lib3dsMesh
struct Lib3dsAtmosphere Lib3dsAtmosphere
GLsizei size
Definition: gl2ext.h:1467
const GLdouble * m
Definition: glew.h:8385
Lib3dsTextureMap bump_map
Definition: lib3ds.h:255