zenilib: zenilib/jni/external/lib3ds/src/lib3ds.h Source File

zenilib 0.5.3.0

- Main Page
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

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 {
44 LIB3DS_SEEK_SET = 0,
45 LIB3DS_SEEK_CUR = 1,
46 LIB3DS_SEEK_END = 2
47 } Lib3dsIoSeek;
48
49 typedef enum Lib3dsLogLevel {
50 LIB3DS_LOG_ERROR = 0,
51 LIB3DS_LOG_WARN = 1,
52 LIB3DS_LOG_INFO = 2,
53 LIB3DS_LOG_DEBUG = 3
54 } 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];
70 int fog_background;
71 float fog_near_plane;
72 float fog_near_density;
73 float fog_far_plane;
74 float fog_far_density;
75 int use_layer_fog;
76 unsigned layer_fog_flags;
77 float layer_fog_color[3];
78 float layer_fog_near_y;
79 float layer_fog_far_y;
80 float layer_fog_density;
81 int use_dist_cue;
82 int dist_cue_background; /* bool */
83 float dist_cue_near_plane;
84 float dist_cue_near_dimming;
85 float dist_cue_far_plane;
86 float dist_cue_far_dimming;
87 } Lib3dsAtmosphere;
88
89 /* Background settings */
90 typedef struct Lib3dsBackground {
91 int use_bitmap;
92 char bitmap_name[64];
93 int use_solid;
94 float solid_color[3];
95 int use_gradient;
96 float gradient_percent;
97 float gradient_top[3];
98 float gradient_middle[3];
99 float gradient_bottom[3];
100 } Lib3dsBackground;
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 {
113 LIB3DS_VIEW_NOT_USED = 0,
114 LIB3DS_VIEW_TOP = 1,
115 LIB3DS_VIEW_BOTTOM = 2,
116 LIB3DS_VIEW_LEFT = 3,
117 LIB3DS_VIEW_RIGHT = 4,
118 LIB3DS_VIEW_FRONT = 5,
119 LIB3DS_VIEW_BACK = 6,
120 LIB3DS_VIEW_USER = 7,
121 LIB3DS_VIEW_SPOTLIGHT = 18,
122 LIB3DS_VIEW_CAMERA = 65535
123 } Lib3dsViewType;
124
125 /* Layout styles */
126 typedef enum Lib3dsLayoutStyle {
127 LIB3DS_LAYOUT_SINGLE = 0,
128 LIB3DS_LAYOUT_TWO_PANE_VERT_SPLIT = 1,
129 LIB3DS_LAYOUT_TWO_PANE_HORIZ_SPLIT = 2,
130 LIB3DS_LAYOUT_FOUR_PANE = 3,
131 LIB3DS_LAYOUT_THREE_PANE_LEFT_SPLIT = 4,
132 LIB3DS_LAYOUT_THREE_PANE_BOTTOM_SPLIT = 5,
133 LIB3DS_LAYOUT_THREE_PANE_RIGHT_SPLIT = 6,
134 LIB3DS_LAYOUT_THREE_PANE_TOP_SPLIT = 7,
135 LIB3DS_LAYOUT_THREE_PANE_VERT_SPLIT = 8,
136 LIB3DS_LAYOUT_THREE_PANE_HORIZ_SPLIT = 9,
137 LIB3DS_LAYOUT_FOUR_PANE_LEFT_SPLIT = 10,
138 LIB3DS_LAYOUT_FOUR_PANE_RIGHT_SPLIT = 11
139 } 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 {
158 int layout_style;
159 int layout_active;
160 int layout_swap;
161 int layout_swap_prior;
162 int layout_swap_view;
163 unsigned short layout_position[2];
164 unsigned short layout_size[2];
165 int layout_nviews;
166 Lib3dsView layout_views[LIB3DS_LAYOUT_MAX_VIEWS];
167 int default_type;
168 float default_position[3];
169 float default_width;
170 float default_horiz_angle;
171 float default_vert_angle;
172 float default_roll_angle;
173 char default_camera[64];
174 } Lib3dsViewport;
175
176 /* Material texture map flags */
177 typedef enum Lib3dsTextureMapFlags {
178 LIB3DS_TEXTURE_DECALE = 0x0001,
179 LIB3DS_TEXTURE_MIRROR = 0x0002,
180 LIB3DS_TEXTURE_NEGATE = 0x0008,
181 LIB3DS_TEXTURE_NO_TILE = 0x0010,
182 LIB3DS_TEXTURE_SUMMED_AREA = 0x0020,
183 LIB3DS_TEXTURE_ALPHA_SOURCE = 0x0040,
184 LIB3DS_TEXTURE_TINT = 0x0080,
185 LIB3DS_TEXTURE_IGNORE_ALPHA = 0x0100,
186 LIB3DS_TEXTURE_RGB_TINT = 0x0200
187 } 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];
205 } Lib3dsTextureMap;
206
207 /* Auto reflection texture map flags */
208 typedef enum Lib3dsAutoReflMapFlags {
209 LIB3DS_AUTOREFL_USE = 0x0001,
210 LIB3DS_AUTOREFL_READ_FIRST_FRAME_ONLY = 0x0004,
211 LIB3DS_AUTOREFL_FLAT_MIRROR = 0x0008
212 } Lib3dsAutoReflMapFlags;
213
214 /* Material shading type */
215 typedef enum Lib3dsShading {
216 LIB3DS_SHADING_WIRE_FRAME = 0,
217 LIB3DS_SHADING_FLAT = 1,
218 LIB3DS_SHADING_GOURAUD = 2,
219 LIB3DS_SHADING_PHONG = 3,
220 LIB3DS_SHADING_METAL = 4
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 */
232 float shin_strength;
233 int use_blur;
234 float blur;
235 float transparency;
236 float falloff;
237 int is_additive;
238 int self_illum_flag; /* bool */
239 float self_illum;
240 int use_falloff;
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;
247 int use_wire_abs;
248 float wire_size;
249 Lib3dsTextureMap texture1_map;
250 Lib3dsTextureMap texture1_mask;
251 Lib3dsTextureMap texture2_map;
252 Lib3dsTextureMap texture2_mask;
253 Lib3dsTextureMap opacity_map;
254 Lib3dsTextureMap opacity_mask;
255 Lib3dsTextureMap bump_map;
256 Lib3dsTextureMap bump_mask;
257 Lib3dsTextureMap specular_map;
258 Lib3dsTextureMap specular_mask;
259 Lib3dsTextureMap shininess_map;
260 Lib3dsTextureMap shininess_mask;
261 Lib3dsTextureMap self_illum_map;
262 Lib3dsTextureMap self_illum_mask;
263 Lib3dsTextureMap reflection_map;
264 Lib3dsTextureMap reflection_mask;
265 unsigned autorefl_map_flags;
266 int autorefl_map_anti_alias; /* 0=None, 1=Low, 2=Medium, 3=High */
267 int autorefl_map_size;
268 int autorefl_map_frame_step;
269 } Lib3dsMaterial;
270
272 typedef enum Lib3dsObjectFlags {
273 LIB3DS_OBJECT_HIDDEN = 0x01,
274 LIB3DS_OBJECT_VIS_LOFTER = 0x02,
275 LIB3DS_OBJECT_DOESNT_CAST = 0x04,
276 LIB3DS_OBJECT_MATTE = 0x08,
277 LIB3DS_OBJECT_DONT_RCVSHADOW = 0x10,
278 LIB3DS_OBJECT_FAST = 0x20,
279 LIB3DS_OBJECT_FROZEN = 0x40
280 } 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;
318 float shadow_filter;
319 int shadow_size;
320 float spot_aspect;
321 int use_projector;
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 {
332 LIB3DS_MAP_NONE = -1,
333 LIB3DS_MAP_PLANAR = 0,
334 LIB3DS_MAP_CYLINDRICAL = 1,
335 LIB3DS_MAP_SPHERICAL = 2
336 } Lib3dsMapType;
337
340 typedef enum Lib3dsFaceFlags {
341 LIB3DS_FACE_VIS_AC = 0x01,
342 LIB3DS_FACE_VIS_BC = 0x02,
343 LIB3DS_FACE_VIS_AB = 0x04,
344 LIB3DS_FACE_WRAP_U = 0x08,
345 LIB3DS_FACE_WRAP_V = 0x10,
346 LIB3DS_FACE_SELECT_3 = (1<<13),
347 LIB3DS_FACE_SELECT_2 = (1<<14),
348 LIB3DS_FACE_SELECT_1 = (1<<15),
349 } 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;
371 Lib3dsFace* faces;
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];
384 float map_cylinder_height;
385 } Lib3dsMesh;
386
387 typedef enum Lib3dsNodeType {
388 LIB3DS_NODE_AMBIENT_COLOR = 0,
389 LIB3DS_NODE_MESH_INSTANCE = 1,
390 LIB3DS_NODE_CAMERA = 2,
391 LIB3DS_NODE_CAMERA_TARGET = 3,
392 LIB3DS_NODE_OMNILIGHT = 4,
393 LIB3DS_NODE_SPOTLIGHT = 5,
394 LIB3DS_NODE_SPOTLIGHT_TARGET= 6
395 } Lib3dsNodeType;
396
397 typedef enum Lib3dsNodeFlags{
398 LIB3DS_NODE_HIDDEN = 0x000800,
399 LIB3DS_NODE_SHOW_PATH = 0x010000,
400 LIB3DS_NODE_SMOOTHING = 0x020000,
401 LIB3DS_NODE_MOTION_BLUR = 0x100000,
402 LIB3DS_NODE_MORPH_MATERIALS = 0x400000
403 } Lib3dsNodeFlags;
404
405 typedef struct Lib3dsNode {
406 unsigned user_id;
407 void* user_ptr;
408 struct Lib3dsNode* next;
409 struct Lib3dsNode* childs;
410 struct Lib3dsNode* parent;
411 Lib3dsNodeType type;
412 unsigned short node_id;
413 char name[64];
414 unsigned flags;
415 float matrix[4][4];
416 } Lib3dsNode;
417
418 typedef enum Lib3dsKeyFlags {
419 LIB3DS_KEY_USE_TENS = 0x01,
420 LIB3DS_KEY_USE_CONT = 0x02,
421 LIB3DS_KEY_USE_BIAS = 0x04,
422 LIB3DS_KEY_USE_EASE_TO = 0x08,
423 LIB3DS_KEY_USE_EASE_FROM = 0x10
424 } 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 {
438 LIB3DS_TRACK_BOOL = 0,
439 LIB3DS_TRACK_FLOAT = 1,
440 LIB3DS_TRACK_VECTOR = 3,
441 LIB3DS_TRACK_QUAT = 4
442 } Lib3dsTrackType;
443
444 typedef enum {
445 LIB3DS_TRACK_REPEAT = 0x0001,
446 LIB3DS_TRACK_SMOOTH = 0x0002,
447 LIB3DS_TRACK_LOCK_X = 0x0008,
448 LIB3DS_TRACK_LOCK_Y = 0x0010,
449 LIB3DS_TRACK_LOCK_Z = 0x0020,
450 LIB3DS_TRACK_UNLINK_X = 0x0100,
451 LIB3DS_TRACK_UNLINK_Y = 0x0200,
452 LIB3DS_TRACK_UNLINK_Z = 0x0400
453 } Lib3dsTrackFlags;
454
455 typedef struct Lib3dsTrack {
456 unsigned flags;
457 Lib3dsTrackType type;
458 int nkeys;
459 Lib3dsKey* keys;
460 } Lib3dsTrack;
461
462 typedef struct Lib3dsAmbientColorNode {
463 Lib3dsNode base;
464 float color[3];
465 Lib3dsTrack color_track;
466 } Lib3dsAmbientColorNode;
467
468 typedef struct Lib3dsMeshInstanceNode {
469 Lib3dsNode base;
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];
478 float morph_smooth;
479 char morph[64];
480 Lib3dsTrack pos_track;
481 Lib3dsTrack rot_track;
482 Lib3dsTrack scl_track;
483 Lib3dsTrack hide_track;
484 } Lib3dsMeshInstanceNode;
485
486 typedef struct Lib3dsCameraNode {
487 Lib3dsNode base;
488 float pos[3];
489 float fov;
490 float roll;
491 Lib3dsTrack pos_track;
492 Lib3dsTrack fov_track;
493 Lib3dsTrack roll_track;
494 } Lib3dsCameraNode;
495
496 typedef struct Lib3dsTargetNode {
497 Lib3dsNode base;
498 float pos[3];
499 Lib3dsTrack pos_track;
500 } Lib3dsTargetNode;
501
502 typedef struct Lib3dsOmnilightNode {
503 Lib3dsNode base;
504 float pos[3];
505 float color[3];
506 Lib3dsTrack pos_track;
507 Lib3dsTrack color_track;
508 } Lib3dsOmnilightNode;
509
510 typedef struct Lib3dsSpotlightNode {
511 Lib3dsNode base;
512 float pos[3];
513 float color[3];
514 float hotspot;
515 float falloff;
516 float roll;
517 Lib3dsTrack pos_track;
518 Lib3dsTrack color_track;
519 Lib3dsTrack hotspot_track;
520 Lib3dsTrack falloff_track;
521 Lib3dsTrack roll_track;
522 } Lib3dsSpotlightNode;
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];
530 float master_scale;
531 float construction_plane[3];
532 float ambient[3];
533 Lib3dsShadow shadow;
534 Lib3dsBackground background;
535 Lib3dsAtmosphere atmosphere;
536 Lib3dsViewport viewport;
537 Lib3dsViewport viewport_keyf;
538 int frames;
539 int segment_from;
540 int segment_to;
541 int current_frame;
542 int materials_size;
543 int nmaterials;
544 Lib3dsMaterial** materials;
545 int cameras_size;
546 int ncameras;
547 Lib3dsCamera** cameras;
548 int lights_size;
549 int nlights;
550 Lib3dsLight** lights;
551 int meshes_size;
552 int nmeshes;
553 Lib3dsMesh** meshes;
554 Lib3dsNode* nodes;
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);
559 extern LIB3DSAPI Lib3dsFile* lib3ds_file_new();
560 extern LIB3DSAPI void lib3ds_file_free(Lib3dsFile *file);
561 extern LIB3DSAPI void lib3ds_file_eval(Lib3dsFile *file, float t);
562 extern LIB3DSAPI int lib3ds_file_read(Lib3dsFile *file, Lib3dsIo *io);
563 extern LIB3DSAPI int lib3ds_file_write(Lib3dsFile *file, Lib3dsIo *io);
564 extern LIB3DSAPI void lib3ds_file_reserve_materials(Lib3dsFile *file, int size, int force);
565 extern LIB3DSAPI void lib3ds_file_insert_material(Lib3dsFile *file, Lib3dsMaterial *material, int index);
566 extern LIB3DSAPI void lib3ds_file_remove_material(Lib3dsFile *file, int index);
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);
569 extern LIB3DSAPI void lib3ds_file_insert_camera(Lib3dsFile *file, Lib3dsCamera *camera, int index);
570 extern LIB3DSAPI void lib3ds_file_remove_camera(Lib3dsFile *file, int index);
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);
573 extern LIB3DSAPI void lib3ds_file_insert_light(Lib3dsFile *file, Lib3dsLight *light, int index);
574 extern LIB3DSAPI void lib3ds_file_remove_light(Lib3dsFile *file, int index);
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);
577 extern LIB3DSAPI void lib3ds_file_insert_mesh(Lib3dsFile *file, Lib3dsMesh *mesh, int index);
578 extern LIB3DSAPI void lib3ds_file_remove_mesh(Lib3dsFile *file, int index);
579 extern LIB3DSAPI int lib3ds_file_mesh_by_name(Lib3dsFile *file, const char *name);
580 extern LIB3DSAPI Lib3dsMesh* lib3ds_file_mesh_for_node(Lib3dsFile *file, Lib3dsNode *node);
581 extern LIB3DSAPI Lib3dsNode* lib3ds_file_node_by_name(Lib3dsFile *file, const char* name, Lib3dsNodeType type);
582 extern LIB3DSAPI Lib3dsNode* lib3ds_file_node_by_id(Lib3dsFile *file, unsigned short node_id);
583 extern LIB3DSAPI void lib3ds_file_append_node(Lib3dsFile *file, Lib3dsNode *node, Lib3dsNode *parent);
584 extern LIB3DSAPI void lib3ds_file_insert_node(Lib3dsFile *file, Lib3dsNode *node, Lib3dsNode *at);
585 extern LIB3DSAPI void lib3ds_file_remove_node(Lib3dsFile *file, Lib3dsNode *node);
586 extern LIB3DSAPI void lib3ds_file_minmax_node_id(Lib3dsFile *file, unsigned short *min_id, unsigned short *max_id);
587 extern LIB3DSAPI void lib3ds_file_create_nodes_for_meshes(Lib3dsFile *file);
588
589
601 extern LIB3DSAPI void lib3ds_file_bounding_box_of_objects(
602 Lib3dsFile *file,
603 int include_meshes,
604 int include_cameras,
605 int include_lights,
606 float bmin[3],
607 float bmax[3]);
608
622 extern LIB3DSAPI void lib3ds_file_bounding_box_of_nodes(
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
645 extern LIB3DSAPI Lib3dsNode* lib3ds_node_new(Lib3dsNodeType type);
646 extern LIB3DSAPI Lib3dsAmbientColorNode* lib3ds_node_new_ambient_color(float color0[3]);
647 extern LIB3DSAPI Lib3dsMeshInstanceNode* lib3ds_node_new_mesh_instance(Lib3dsMesh *mesh, const char* instance_name, float pos0[3], float scl0[3], float rot0[4]);
648 extern LIB3DSAPI Lib3dsCameraNode* lib3ds_node_new_camera(Lib3dsCamera *camera);
649 extern LIB3DSAPI Lib3dsTargetNode* lib3ds_node_new_camera_target(Lib3dsCamera *camera);
650 extern LIB3DSAPI Lib3dsOmnilightNode* lib3ds_node_new_omnilight(Lib3dsLight *light);
651 extern LIB3DSAPI Lib3dsSpotlightNode* lib3ds_node_new_spotlight(Lib3dsLight *light);
652 extern LIB3DSAPI Lib3dsTargetNode* lib3ds_node_new_spotlight_target(Lib3dsLight *light);
653 extern LIB3DSAPI void lib3ds_node_free(Lib3dsNode *node);
654 extern LIB3DSAPI void lib3ds_node_eval(Lib3dsNode *node, float t);
655 extern LIB3DSAPI Lib3dsNode* lib3ds_node_by_name(Lib3dsNode *node, const char* name, Lib3dsNodeType type);
656 extern LIB3DSAPI Lib3dsNode* lib3ds_node_by_id(Lib3dsNode *node, unsigned short node_id);
657
658 extern LIB3DSAPI Lib3dsTrack* lib3ds_track_new(Lib3dsTrackType type, int nkeys);
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
699 extern LIB3DSAPI void lib3ds_math_cubic_interp(
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
Lib3dsMaterial::self_illum_map
Lib3dsTextureMap self_illum_map
Definition: lib3ds.h:261
lib3ds_file_read
LIB3DSAPI int lib3ds_file_read(Lib3dsFile *file, Lib3dsIo *io)
Definition: lib3ds_file.c:595
Lib3dsFace::flags
unsigned short flags
Definition: lib3ds.h:353
Lib3dsFile::nodes
Lib3dsNode * nodes
Definition: lib3ds.h:554
Lib3dsViewport::layout_position
unsigned short layout_position[2]
Definition: lib3ds.h:163
lib3ds_track_resize
LIB3DSAPI void lib3ds_track_resize(Lib3dsTrack *track, int nkeys)
Definition: lib3ds_track.c:40
Lib3dsFaceFlags
Lib3dsFaceFlags
Definition: lib3ds.h:340
Lib3dsSpotlightNode
Definition: lib3ds.h:510
LIB3DS_SEEK_CUR
Definition: lib3ds.h:45
Lib3dsMesh::vflags
unsigned short * vflags
Definition: lib3ds.h:369
Lib3dsViewport::layout_swap_view
int layout_swap_view
Definition: lib3ds.h:162
lib3ds_vector_transform
LIB3DSAPI void lib3ds_vector_transform(float c[3], float m[4][4], float a[3])
Definition: lib3ds_vector.c:203
Lib3dsFile::segment_from
int segment_from
Definition: lib3ds.h:539
LIB3DS_TRACK_UNLINK_Z
Definition: lib3ds.h:452
LIB3DS_VIEW_TOP
Definition: lib3ds.h:114
lib3ds_math_cubic_interp
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
Lib3dsBackground
struct Lib3dsBackground Lib3dsBackground
Lib3dsOmnilightNode::pos_track
Lib3dsTrack pos_track
Definition: lib3ds.h:506
Lib3dsCameraNode
Definition: lib3ds.h:486
lib3ds_node_new_camera
LIB3DSAPI Lib3dsCameraNode * lib3ds_node_new_camera(Lib3dsCamera *camera)
Definition: lib3ds_node.c:168
Lib3dsCamera
Definition: lib3ds.h:283
Lib3dsMesh::nfaces
unsigned short nfaces
Definition: lib3ds.h:370
Lib3dsAtmosphere::use_dist_cue
int use_dist_cue
Definition: lib3ds.h:81
Lib3dsCameraNode::fov_track
Lib3dsTrack fov_track
Definition: lib3ds.h:492
LIB3DS_FACE_VIS_AB
Definition: lib3ds.h:343
Lib3dsMesh::nvertices
unsigned short nvertices
Definition: lib3ds.h:366
Lib3dsFile::ncameras
int ncameras
Definition: lib3ds.h:546
lib3ds_file_new
LIB3DSAPI Lib3dsFile * lib3ds_file_new()
Definition: lib3ds_file.c:160
Lib3dsTextureMapFlags
Lib3dsTextureMapFlags
Definition: lib3ds.h:177
LIB3DS_LAYOUT_TWO_PANE_HORIZ_SPLIT
Definition: lib3ds.h:129
Lib3dsObjectFlags
Lib3dsObjectFlags
Definition: lib3ds.h:272
LIB3DS_OBJECT_MATTE
Definition: lib3ds.h:276
lib3ds_file_mesh_for_node
LIB3DSAPI Lib3dsMesh * lib3ds_file_mesh_for_node(Lib3dsFile *file, Lib3dsNode *node)
Definition: lib3ds_file.c:1071
Lib3dsMesh::map_cylinder_height
float map_cylinder_height
Definition: lib3ds.h:384
lib3ds_file_bounding_box_of_nodes
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
lib3ds_material_free
LIB3DSAPI void lib3ds_material_free(Lib3dsMaterial *material)
Definition: lib3ds_material.c:79
lib3ds_file_insert_camera
LIB3DSAPI void lib3ds_file_insert_camera(Lib3dsFile *file, Lib3dsCamera *camera, int index)
Definition: lib3ds_file.c:971
LIB3DS_SHADING_GOURAUD
Definition: lib3ds.h:218
Lib3dsCameraNode::base
Lib3dsNode base
Definition: lib3ds.h:487
LIB3DS_TRACK_LOCK_X
Definition: lib3ds.h:447
Lib3dsOmnilightNode
Definition: lib3ds.h:502
Lib3dsMaterial::face_map
int face_map
Definition: lib3ds.h:243
Lib3dsBackground::gradient_percent
float gradient_percent
Definition: lib3ds.h:96
lib3ds_matrix_rotate_quat
LIB3DSAPI void lib3ds_matrix_rotate_quat(float m[4][4], float q[4])
Definition: lib3ds_matrix.c:356
LIB3DS_VIEW_SPOTLIGHT
Definition: lib3ds.h:121
Lib3dsViewport::layout_style
int layout_style
Definition: lib3ds.h:158
lib3ds_matrix_add
LIB3DSAPI void lib3ds_matrix_add(float m[4][4], float a[4][4], float b[4][4])
Definition: lib3ds_matrix.c:98
Lib3dsSpotlightNode::color_track
Lib3dsTrack color_track
Definition: lib3ds.h:518
Lib3dsViewport::default_roll_angle
float default_roll_angle
Definition: lib3ds.h:172
Lib3dsLight::shadow_filter
float shadow_filter
Definition: lib3ds.h:318
Lib3dsLight::user_id
unsigned user_id
Definition: lib3ds.h:299
Lib3dsShadow::ray_bias
float ray_bias
Definition: lib3ds.h:108
Lib3dsTrack::flags
unsigned flags
Definition: lib3ds.h:456
lib3ds_quat_slerp
LIB3DSAPI void lib3ds_quat_slerp(float c[4], float a[4], float b[4], float t)
Definition: lib3ds_quat.c:234
Lib3dsMaterial::soften
int soften
Definition: lib3ds.h:242
Lib3dsIo
struct Lib3dsIo Lib3dsIo
Lib3dsShadow::map_size
short map_size
Definition: lib3ds.h:104
type
GLint GLenum GLsizei GLsizei GLsizei GLint GLenum GLenum type
Definition: gl2ext.h:845
light
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
Lib3dsMeshInstanceNode::scl
float scl[3]
Definition: lib3ds.h:477
Lib3dsTrackFlags
Lib3dsTrackFlags
Definition: lib3ds.h:444
void
GLvoid **typedef void(GLAPIENTRY *PFNGLGETVERTEXATTRIBDVPROC)(GLuint
Definition: glew.h:1824
LIB3DS_FACE_SELECT_3
Definition: lib3ds.h:346
Lib3dsMaterial::autorefl_map_frame_step
int autorefl_map_frame_step
Definition: lib3ds.h:268
Lib3dsMaterial::specular
float specular[3]
Definition: lib3ds.h:230
color
GLuint color
Definition: glew.h:7185
Lib3dsMaterial::transparency
float transparency
Definition: lib3ds.h:235
Lib3dsViewport::default_vert_angle
float default_vert_angle
Definition: lib3ds.h:171
Lib3dsTargetNode::base
Lib3dsNode base
Definition: lib3ds.h:497
Lib3dsMesh::map_pos
float map_pos[3]
Definition: lib3ds.h:379
Lib3dsMeshInstanceNode::rot
float rot[4]
Definition: lib3ds.h:476
LIB3DS_SHADING_METAL
Definition: lib3ds.h:220
Lib3dsViewport::default_position
float default_position[3]
Definition: lib3ds.h:168
lib3ds_node_new_omnilight
LIB3DSAPI Lib3dsOmnilightNode * lib3ds_node_new_omnilight(Lib3dsLight *light)
Definition: lib3ds_node.c:208
Lib3dsNode::user_id
unsigned user_id
Definition: lib3ds.h:406
Lib3dsAtmosphere::dist_cue_near_plane
float dist_cue_near_plane
Definition: lib3ds.h:83
Lib3dsView
struct Lib3dsView Lib3dsView
Lib3dsFile::segment_to
int segment_to
Definition: lib3ds.h:540
f
GLclampf f
Definition: glew.h:3390
Lib3dsAtmosphere::fog_background
int fog_background
Definition: lib3ds.h:70
Lib3dsMesh::color
int color
Definition: lib3ds.h:364
LIB3DS_VIEW_RIGHT
Definition: lib3ds.h:117
Lib3dsShadow::filter
float filter
Definition: lib3ds.h:107
Lib3dsTrack
Definition: lib3ds.h:455
lib3ds_quat_squad
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
Lib3dsAtmosphere::layer_fog_color
float layer_fog_color[3]
Definition: lib3ds.h:77
Lib3dsLight::inner_range
float inner_range
Definition: lib3ds.h:311
Lib3dsMaterial::use_wire
int use_wire
Definition: lib3ds.h:246
Lib3dsMaterial::texture1_mask
Lib3dsTextureMap texture1_mask
Definition: lib3ds.h:250
lib3ds_node_new_ambient_color
LIB3DSAPI Lib3dsAmbientColorNode * lib3ds_node_new_ambient_color(float color0[3])
Definition: lib3ds_node.c:108
LIB3DS_MAP_CYLINDRICAL
Definition: lib3ds.h:334
lib3ds_file_reserve_meshes
LIB3DSAPI void lib3ds_file_reserve_meshes(Lib3dsFile *file, int size, int force)
Definition: lib3ds_file.c:1035
Lib3dsMaterial::specular_map
Lib3dsTextureMap specular_map
Definition: lib3ds.h:257
lib3ds_quat_exp
LIB3DSAPI void lib3ds_quat_exp(float c[4])
Definition: lib3ds_quat.c:214
angle
GLdouble angle
Definition: glew.h:8396
k
int32_t k
Definition: e_log.c:102
Lib3dsLight::shadowed
int shadowed
Definition: lib3ds.h:316
lib3ds_math_ease
LIB3DSAPI float lib3ds_math_ease(float fp, float fc, float fn, float ease_from, float ease_to)
Definition: lib3ds_math.c:22
lib3ds_file_write
LIB3DSAPI int lib3ds_file_write(Lib3dsFile *file, Lib3dsIo *io)
Definition: lib3ds_file.c:892
LIB3DS_NODE_MOTION_BLUR
Definition: lib3ds.h:401
LIB3DS_TEXTURE_NO_TILE
Definition: lib3ds.h:181
n
GLclampd n
Definition: glew.h:7287
Lib3dsShadow
struct Lib3dsShadow Lib3dsShadow
Lib3dsNode::type
Lib3dsNodeType type
Definition: lib3ds.h:411
lib3ds_file_reserve_cameras
LIB3DSAPI void lib3ds_file_reserve_cameras(Lib3dsFile *file, int size, int force)
Definition: lib3ds_file.c:963
Lib3dsMesh::map_tile
float map_tile[2]
Definition: lib3ds.h:382
Lib3dsLight::projector
char projector[64]
Definition: lib3ds.h:322
Lib3dsMesh::map_scale
float map_scale
Definition: lib3ds.h:381
Lib3dsNode::user_ptr
void * user_ptr
Definition: lib3ds.h:407
Lib3dsView::type
int type
Definition: lib3ds.h:143
Lib3dsFile::lights_size
int lights_size
Definition: lib3ds.h:548
LIB3DS_TRACK_BOOL
Definition: lib3ds.h:438
x
EGLSurface EGLint x
Definition: eglext.h:293
Lib3dsFile::frames
int frames
Definition: lib3ds.h:538
LIB3DS_VIEW_USER
Definition: lib3ds.h:120
Lib3dsLight
Definition: lib3ds.h:298
Lib3dsMesh::vertices
float(* vertices)[3]
Definition: lib3ds.h:367
Lib3dsKey::ease_from
float ease_from
Definition: lib3ds.h:433
Lib3dsCameraNode::pos_track
Lib3dsTrack pos_track
Definition: lib3ds.h:491
Lib3dsFile::construction_plane
float construction_plane[3]
Definition: lib3ds.h:531
t
GLdouble GLdouble t
Definition: glew.h:1384
lib3ds_file_reserve_materials
LIB3DSAPI void lib3ds_file_reserve_materials(Lib3dsFile *file, int size, int force)
Definition: lib3ds_file.c:927
LIB3DS_KEY_USE_TENS
Definition: lib3ds.h:419
Lib3dsMaterial::autorefl_map_size
int autorefl_map_size
Definition: lib3ds.h:267
lib3ds_node_new_spotlight_target
LIB3DSAPI Lib3dsTargetNode * lib3ds_node_new_spotlight_target(Lib3dsLight *light)
Lib3dsOmnilightNode::pos
float pos[3]
Definition: lib3ds.h:504
Lib3dsMaterial::use_wire_abs
int use_wire_abs
Definition: lib3ds.h:247
LIB3DS_FACE_VIS_AC
Definition: lib3ds.h:341
Lib3dsMaterial::texture1_map
Lib3dsTextureMap texture1_map
Definition: lib3ds.h:249
file
FILE * file
Definition: visualinfo.c:88
LIB3DS_MAP_NONE
Definition: lib3ds.h:332
Lib3dsTrack::keys
Lib3dsKey * keys
Definition: lib3ds.h:459
lib3ds_camera_new
LIB3DSAPI Lib3dsCamera * lib3ds_camera_new(const char *name)
Definition: lib3ds_camera.c:32
Lib3dsAmbientColorNode::color_track
Lib3dsTrack color_track
Definition: lib3ds.h:465
Lib3dsCamera::position
float position[3]
Definition: lib3ds.h:288
Lib3dsOmnilightNode::base
Lib3dsNode base
Definition: lib3ds.h:503
lib3ds_material_new
LIB3DSAPI Lib3dsMaterial * lib3ds_material_new(const char *name)
Definition: lib3ds_material.c:39
a
GLboolean GLboolean GLboolean GLboolean a
Definition: glew.h:8736
lib3ds_quat_norm
LIB3DSAPI float lib3ds_quat_norm(float c[4])
Definition: lib3ds_quat.c:176
LIB3DS_NODE_SMOOTHING
Definition: lib3ds.h:400
LIB3DS_OBJECT_DONT_RCVSHADOW
Definition: lib3ds.h:277
LIB3DS_OBJECT_VIS_LOFTER
Definition: lib3ds.h:274
Lib3dsFile::background
Lib3dsBackground background
Definition: lib3ds.h:534
lib3ds_matrix_rotate
LIB3DSAPI void lib3ds_matrix_rotate(float m[4][4], float angle, float ax, float ay, float az)
Definition: lib3ds_matrix.c:400
name
EGLImageKHR EGLint * name
Definition: eglext.h:284
lib3ds_file_mesh_by_name
LIB3DSAPI int lib3ds_file_mesh_by_name(Lib3dsFile *file, const char *name)
Definition: lib3ds_file.c:1057
Lib3dsMaterial::wire_size
float wire_size
Definition: lib3ds.h:248
lib3ds_matrix_scale
LIB3DSAPI void lib3ds_matrix_scale(float m[4][4], float x, float y, float z)
Definition: lib3ds_matrix.c:341
LIB3DS_FACE_WRAP_U
Definition: lib3ds.h:344
Lib3dsMesh::user_id
unsigned user_id
Definition: lib3ds.h:360
Lib3dsCamera::see_cone
int see_cone
Definition: lib3ds.h:292
LIB3DS_LAYOUT_MAX_VIEWS
#define LIB3DS_LAYOUT_MAX_VIEWS
Definition: lib3ds.h:154
LIB3DSAPI
#define LIB3DSAPI
Definition: lib3ds.h:32
LIB3DS_VIEW_NOT_USED
Definition: lib3ds.h:113
Lib3dsMesh::faces
Lib3dsFace * faces
Definition: lib3ds.h:371
LIB3DS_FACE_SELECT_1
Definition: lib3ds.h:348
lib3ds_quat_neg
LIB3DSAPI void lib3ds_quat_neg(float c[4])
Definition: lib3ds_quat.c:74
lib3ds_matrix_identity
LIB3DSAPI void lib3ds_matrix_identity(float m[4][4])
Definition: lib3ds_matrix.c:42
lib3ds_quat_identity
LIB3DSAPI void lib3ds_quat_identity(float c[4])
Definition: lib3ds_quat.c:25
Lib3dsLight::object_flags
unsigned object_flags
Definition: lib3ds.h:302
Lib3dsMaterial::bump_mask
Lib3dsTextureMap bump_mask
Definition: lib3ds.h:256
lib3ds_file_append_node
LIB3DSAPI void lib3ds_file_append_node(Lib3dsFile *file, Lib3dsNode *node, Lib3dsNode *parent)
Definition: lib3ds_file.c:1148
Lib3dsMaterial::self_illum
float self_illum
Definition: lib3ds.h:239
Lib3dsMeshInstanceNode::morph
char morph[64]
Definition: lib3ds.h:479
lib3ds_file_remove_camera
LIB3DSAPI void lib3ds_file_remove_camera(Lib3dsFile *file, int index)
Definition: lib3ds_file.c:978
lib3ds_file_remove_light
LIB3DSAPI void lib3ds_file_remove_light(Lib3dsFile *file, int index)
Definition: lib3ds_file.c:1014
Lib3dsLight::use_projector
int use_projector
Definition: lib3ds.h:321
Lib3dsBackground::gradient_bottom
float gradient_bottom[3]
Definition: lib3ds.h:99
Lib3dsMesh::map_matrix
float map_matrix[4][4]
Definition: lib3ds.h:380
lib3ds_mesh_calculate_face_normals
LIB3DSAPI void lib3ds_mesh_calculate_face_normals(Lib3dsMesh *mesh, float(*face_normals)[3])
Definition: lib3ds_mesh.c:118
Lib3dsMeshInstanceNode::pivot
float pivot[3]
Definition: lib3ds.h:470
Lib3dsTextureMap::percent
float percent
Definition: lib3ds.h:195
LIB3DS_TRACK_LOCK_Z
Definition: lib3ds.h:449
Lib3dsView::vert_angle
float vert_angle
Definition: lib3ds.h:150
Lib3dsMeshInstanceNode
Definition: lib3ds.h:468
Lib3dsTextureMap::flags
unsigned flags
Definition: lib3ds.h:194
Lib3dsMaterial::autorefl_map_flags
unsigned autorefl_map_flags
Definition: lib3ds.h:265
lib3ds_node_eval
LIB3DSAPI void lib3ds_node_eval(Lib3dsNode *node, float t)
Definition: lib3ds_node.c:362
LIB3DS_VIEW_BACK
Definition: lib3ds.h:119
Lib3dsMaterial::two_sided
int two_sided
Definition: lib3ds.h:244
lib3ds_matrix_mult
LIB3DSAPI void lib3ds_matrix_mult(float m[4][4], float a[4][4], float b[4][4])
Definition: lib3ds_matrix.c:132
Lib3dsBackground::bitmap_name
char bitmap_name[64]
Definition: lib3ds.h:92
Lib3dsMesh
Definition: lib3ds.h:359
Lib3dsFile::nmeshes
int nmeshes
Definition: lib3ds.h:552
lib3ds_quat_ln_dif
LIB3DSAPI void lib3ds_quat_ln_dif(float c[4], float a[4], float b[4])
Definition: lib3ds_quat.c:203
Lib3dsBackground::gradient_top
float gradient_top[3]
Definition: lib3ds.h:97
lib3ds_file_eval
LIB3DSAPI void lib3ds_file_eval(Lib3dsFile *file, float t)
Definition: lib3ds_file.c:214
Lib3dsBackground::solid_color
float solid_color[3]
Definition: lib3ds.h:94
LIB3DS_LAYOUT_THREE_PANE_BOTTOM_SPLIT
Definition: lib3ds.h:132
LIB3DS_OBJECT_FROZEN
Definition: lib3ds.h:279
Lib3dsTextureMap::tint_g
float tint_g[3]
Definition: lib3ds.h:203
LIB3DS_TRACK_UNLINK_X
Definition: lib3ds.h:450
Lib3dsCamera::roll
float roll
Definition: lib3ds.h:290
Lib3dsTextureMap::rotation
float rotation
Definition: lib3ds.h:199
Lib3dsShadow::low_bias
float low_bias
Definition: lib3ds.h:105
Lib3dsNode::node_id
unsigned short node_id
Definition: lib3ds.h:412
Lib3dsAutoReflMapFlags
Lib3dsAutoReflMapFlags
Definition: lib3ds.h:208
lib3ds_file_free
LIB3DSAPI void lib3ds_file_free(Lib3dsFile *file)
Definition: lib3ds_file.c:187
LIB3DS_NODE_CAMERA_TARGET
Definition: lib3ds.h:391
LIB3DS_TRACK_LOCK_Y
Definition: lib3ds.h:448
lib3ds_quat_inv
LIB3DSAPI void lib3ds_quat_inv(float c[4])
Definition: lib3ds_quat.c:149
lib3ds_vector_max
LIB3DSAPI void lib3ds_vector_max(float c[3], float a[3])
Definition: lib3ds_vector.c:232
Lib3dsLight
struct Lib3dsLight Lib3dsLight
Lib3dsFile::viewport
Lib3dsViewport viewport
Definition: lib3ds.h:536
Lib3dsFile::meshes_size
int meshes_size
Definition: lib3ds.h:551
Lib3dsView::axis_lock
unsigned axis_lock
Definition: lib3ds.h:144
lib3ds_file_reserve_lights
LIB3DSAPI void lib3ds_file_reserve_lights(Lib3dsFile *file, int size, int force)
Definition: lib3ds_file.c:999
LIB3DS_AUTOREFL_USE
Definition: lib3ds.h:209
LIB3DS_LAYOUT_FOUR_PANE
Definition: lib3ds.h:130
Lib3dsMaterial::specular_mask
Lib3dsTextureMap specular_mask
Definition: lib3ds.h:258
target
EGLContext EGLenum target
Definition: eglext.h:87
Lib3dsLight::roll
float roll
Definition: lib3ds.h:308
Lib3dsMeshInstanceNode::pos
float pos[3]
Definition: lib3ds.h:475
Lib3dsTextureMap::tint_b
float tint_b[3]
Definition: lib3ds.h:204
lib3ds_file_camera_by_name
LIB3DSAPI int lib3ds_file_camera_by_name(Lib3dsFile *file, const char *name)
Definition: lib3ds_file.c:985
Lib3dsAtmosphere
Definition: lib3ds.h:67
Lib3dsMaterial::reflection_mask
Lib3dsTextureMap reflection_mask
Definition: lib3ds.h:264
Lib3dsMeshInstanceNode::pos_track
Lib3dsTrack pos_track
Definition: lib3ds.h:480
LIB3DS_LOG_INFO
Definition: lib3ds.h:52
Lib3dsLight::spot_aspect
float spot_aspect
Definition: lib3ds.h:320
Lib3dsShadow
Definition: lib3ds.h:103
Lib3dsMesh::box_back
char box_back[64]
Definition: lib3ds.h:373
LIB3DS_TEXTURE_TINT
Definition: lib3ds.h:184
buffer
EGLContext EGLenum EGLClientBuffer buffer
Definition: eglext.h:87
Lib3dsBackground::gradient_middle
float gradient_middle[3]
Definition: lib3ds.h:98
LIB3DS_FACE_SELECT_2
Definition: lib3ds.h:347
Lib3dsFile
Definition: lib3ds.h:524
lib3ds_file_insert_mesh
LIB3DSAPI void lib3ds_file_insert_mesh(Lib3dsFile *file, Lib3dsMesh *mesh, int index)
Definition: lib3ds_file.c:1043
LIB3DS_TEXTURE_IGNORE_ALPHA
Definition: lib3ds.h:185
Lib3dsAtmosphere::dist_cue_far_dimming
float dist_cue_far_dimming
Definition: lib3ds.h:86
Lib3dsViewport::default_width
float default_width
Definition: lib3ds.h:169
LIB3DS_OBJECT_FAST
Definition: lib3ds.h:278
Lib3dsFile::current_frame
int current_frame
Definition: lib3ds.h:541
Lib3dsViewport::layout_nviews
int layout_nviews
Definition: lib3ds.h:165
lib3ds_quat_scalar
LIB3DSAPI void lib3ds_quat_scalar(float c[4], float k)
Definition: lib3ds_quat.c:116
LIB3DS_LAYOUT_FOUR_PANE_RIGHT_SPLIT
Definition: lib3ds.h:138
lib3ds_camera_free
LIB3DSAPI void lib3ds_camera_free(Lib3dsCamera *mesh)
Definition: lib3ds_camera.c:54
Lib3dsViewport::layout_views
Lib3dsView layout_views[LIB3DS_LAYOUT_MAX_VIEWS]
Definition: lib3ds.h:166
lib3ds_vector_min
LIB3DSAPI void lib3ds_vector_min(float c[3], float a[3])
Definition: lib3ds_vector.c:216
Lib3dsFile::shadow
Lib3dsShadow shadow
Definition: lib3ds.h:533
lib3ds_node_new_camera_target
LIB3DSAPI Lib3dsTargetNode * lib3ds_node_new_camera_target(Lib3dsCamera *camera)
Definition: lib3ds_node.c:191
Lib3dsMaterial::autorefl_map_anti_alias
int autorefl_map_anti_alias
Definition: lib3ds.h:266
lib3ds_vector_copy
LIB3DSAPI void lib3ds_vector_copy(float dst[3], float src[3])
Definition: lib3ds_vector.c:39
Lib3dsSpotlightNode::hotspot_track
Lib3dsTrack hotspot_track
Definition: lib3ds.h:519
LIB3DS_FACE_WRAP_V
Definition: lib3ds.h:345
Lib3dsViewport::layout_active
int layout_active
Definition: lib3ds.h:159
lib3ds_node_new
LIB3DSAPI Lib3dsNode * lib3ds_node_new(Lib3dsNodeType type)
Definition: lib3ds_node.c:30
LIB3DS_NODE_SHOW_PATH
Definition: lib3ds.h:399
Lib3dsCameraNode::pos
float pos[3]
Definition: lib3ds.h:488
Lib3dsCamera::far_range
float far_range
Definition: lib3ds.h:294
lib3ds_light_free
LIB3DSAPI void lib3ds_light_free(Lib3dsLight *mesh)
Definition: lib3ds_light.c:38
lib3ds_track_eval_vector
LIB3DSAPI void lib3ds_track_eval_vector(Lib3dsTrack *track, float v[3], float t)
Definition: lib3ds_track.c:357
Lib3dsCameraNode::roll
float roll
Definition: lib3ds.h:490
LIB3DS_TRACK_QUAT
Definition: lib3ds.h:441
LIB3DS_VIEW_LEFT
Definition: lib3ds.h:116
Lib3dsMaterial::opacity_mask
Lib3dsTextureMap opacity_mask
Definition: lib3ds.h:254
Lib3dsFace
Definition: lib3ds.h:351
Lib3dsMesh::object_flags
unsigned object_flags
Definition: lib3ds.h:363
Lib3dsKey::tens
float tens
Definition: lib3ds.h:429
v
const GLdouble * v
Definition: glew.h:1377
Lib3dsTrackType
Lib3dsTrackType
Definition: lib3ds.h:437
lib3ds_track_eval_bool
LIB3DSAPI void lib3ds_track_eval_bool(Lib3dsTrack *track, int *b, float t)
Definition: lib3ds_track.c:277
LIB3DS_TRACK_REPEAT
Definition: lib3ds.h:445
Lib3dsNode::next
struct Lib3dsNode * next
Definition: lib3ds.h:408
dst
GLenum GLenum dst
Definition: glew.h:2396
lib3ds_file_light_by_name
LIB3DSAPI int lib3ds_file_light_by_name(Lib3dsFile *file, const char *name)
Definition: lib3ds_file.c:1021
LIB3DS_FACE_VIS_BC
Definition: lib3ds.h:342
Lib3dsFile::user_ptr
void * user_ptr
Definition: lib3ds.h:526
lib3ds_quat_ln
LIB3DSAPI void lib3ds_quat_ln(float c[4])
Definition: lib3ds_quat.c:182
lib3ds_light_new
LIB3DSAPI Lib3dsLight * lib3ds_light_new(const char *name)
Definition: lib3ds_light.c:22
LIB3DS_SEEK_END
Definition: lib3ds.h:46
Lib3dsMaterial::user_id
unsigned user_id
Definition: lib3ds.h:225
lib3ds_file_bounding_box_of_objects
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
Lib3dsMaterial::diffuse
float diffuse[3]
Definition: lib3ds.h:229
LIB3DS_TEXTURE_RGB_TINT
Definition: lib3ds.h:186
LIB3DS_VIEW_FRONT
Definition: lib3ds.h:118
Lib3dsFile::nmaterials
int nmaterials
Definition: lib3ds.h:543
Lib3dsTrack::type
Lib3dsTrackType type
Definition: lib3ds.h:457
Lib3dsView::horiz_angle
float horiz_angle
Definition: lib3ds.h:149
Lib3dsViewport::default_type
int default_type
Definition: lib3ds.h:167
Lib3dsFile::ambient
float ambient[3]
Definition: lib3ds.h:532
Lib3dsLight::hotspot
float hotspot
Definition: lib3ds.h:326
Lib3dsAmbientColorNode
struct Lib3dsAmbientColorNode Lib3dsAmbientColorNode
LIB3DS_OBJECT_DOESNT_CAST
Definition: lib3ds.h:275
Lib3dsIoSeek
Lib3dsIoSeek
Definition: lib3ds.h:43
LIB3DS_VIEW_CAMERA
Definition: lib3ds.h:122
sort_controllers.filename
string filename
Definition: sort_controllers.py:8
Lib3dsFile::materials_size
int materials_size
Definition: lib3ds.h:542
LIB3DS_SHADING_FLAT
Definition: lib3ds.h:217
Lib3dsMaterial::shin_strength
float shin_strength
Definition: lib3ds.h:232
lib3ds_file_save
LIB3DSAPI int lib3ds_file_save(Lib3dsFile *file, const char *filename)
Definition: lib3ds_file.c:129
Lib3dsAtmosphere::layer_fog_far_y
float layer_fog_far_y
Definition: lib3ds.h:79
Lib3dsCamera
struct Lib3dsCamera Lib3dsCamera
LIB3DS_KEY_USE_CONT
Definition: lib3ds.h:420
Lib3dsTextureMap::tint_1
float tint_1[3]
Definition: lib3ds.h:200
lib3ds_mesh_free
LIB3DSAPI void lib3ds_mesh_free(Lib3dsMesh *mesh)
Definition: lib3ds_mesh.c:57
Lib3dsMesh::box_right
char box_right[64]
Definition: lib3ds.h:375
LIB3DS_AUTOREFL_FLAT_MIRROR
Definition: lib3ds.h:211
Lib3dsSpotlightNode
struct Lib3dsSpotlightNode Lib3dsSpotlightNode
Lib3dsMesh::box_front
char box_front[64]
Definition: lib3ds.h:372
LIB3DS_LOG_DEBUG
Definition: lib3ds.h:53
Lib3dsMesh::map_type
int map_type
Definition: lib3ds.h:378
lib3ds_vector_make
LIB3DSAPI void lib3ds_vector_make(float c[3], float x, float y, float z)
Definition: lib3ds_vector.c:22
Lib3dsMeshInstanceNode::morph_smooth
float morph_smooth
Definition: lib3ds.h:478
Lib3dsViewType
Lib3dsViewType
Definition: lib3ds.h:112
Lib3dsFile::viewport_keyf
Lib3dsViewport viewport_keyf
Definition: lib3ds.h:537
p
GLfloat GLfloat p
Definition: glew.h:14938
lib3ds_vector_zero
LIB3DSAPI void lib3ds_vector_zero(float c[3])
Definition: lib3ds_vector.c:30
Lib3dsViewport::layout_size
unsigned short layout_size[2]
Definition: lib3ds.h:164
Lib3dsMaterial::shading
int shading
Definition: lib3ds.h:241
Lib3dsLight::multiplier
float multiplier
Definition: lib3ds.h:312
Lib3dsCameraNode
struct Lib3dsCameraNode Lib3dsCameraNode
c
const GLfloat * c
Definition: glew.h:14913
Lib3dsLight::ray_shadows
int ray_shadows
Definition: lib3ds.h:324
LIB3DS_NODE_CAMERA
Definition: lib3ds.h:390
Lib3dsLight::spot_overshoot
int spot_overshoot
Definition: lib3ds.h:323
Lib3dsViewport::layout_swap
int layout_swap
Definition: lib3ds.h:160
Lib3dsTargetNode
Definition: lib3ds.h:496
LIB3DS_NODE_MESH_INSTANCE
Definition: lib3ds.h:389
lib3ds_file_remove_node
LIB3DSAPI void lib3ds_file_remove_node(Lib3dsFile *file, Lib3dsNode *node)
Definition: lib3ds_file.c:1211
LIB3DS_NODE_HIDDEN
Definition: lib3ds.h:398
Lib3dsIo::seek_func
long(* seek_func)(void *self, long offset, Lib3dsIoSeek origin)
Definition: lib3ds.h:59
Lib3dsFile::atmosphere
Lib3dsAtmosphere atmosphere
Definition: lib3ds.h:535
lib3ds_file_remove_mesh
LIB3DSAPI void lib3ds_file_remove_mesh(Lib3dsFile *file, int index)
Definition: lib3ds_file.c:1050
lib3ds_mesh_new
LIB3DSAPI Lib3dsMesh * lib3ds_mesh_new(const char *name)
Definition: lib3ds_mesh.c:34
Lib3dsFile::user_id
unsigned user_id
Definition: lib3ds.h:525
Lib3dsView::position
short position[2]
Definition: lib3ds.h:145
Lib3dsLight::off
int off
Definition: lib3ds.h:309
lib3ds_file_material_by_name
LIB3DSAPI int lib3ds_file_material_by_name(Lib3dsFile *file, const char *name)
Definition: lib3ds_file.c:949
lib3ds_vector_normalize
LIB3DSAPI void lib3ds_vector_normalize(float c[3])
Definition: lib3ds_vector.c:146
lib3ds_node_free
LIB3DSAPI void lib3ds_node_free(Lib3dsNode *node)
Definition: lib3ds_node.c:346
Lib3dsAtmosphere::fog_far_plane
float fog_far_plane
Definition: lib3ds.h:73
Lib3dsLight::attenuation
float attenuation
Definition: lib3ds.h:314
Lib3dsView
Definition: lib3ds.h:142
Lib3dsTextureMap
struct Lib3dsTextureMap Lib3dsTextureMap
Lib3dsMapType
Lib3dsMapType
Definition: lib3ds.h:331
LIB3DS_LAYOUT_THREE_PANE_VERT_SPLIT
Definition: lib3ds.h:135
LIB3DS_KEY_USE_BIAS
Definition: lib3ds.h:421
Lib3dsAtmosphere::fog_color
float fog_color[3]
Definition: lib3ds.h:69
Lib3dsMeshInstanceNode::rot_track
Lib3dsTrack rot_track
Definition: lib3ds.h:481
Lib3dsLayoutStyle
Lib3dsLayoutStyle
Definition: lib3ds.h:126
Lib3dsFile::mesh_version
unsigned mesh_version
Definition: lib3ds.h:527
Lib3dsView::camera
char camera[11]
Definition: lib3ds.h:151
Lib3dsCamera::fov
float fov
Definition: lib3ds.h:291
lib3ds_track_eval_quat
LIB3DSAPI void lib3ds_track_eval_quat(Lib3dsTrack *track, float q[4], float t)
Definition: lib3ds_track.c:367
lib3ds_quat_dot
LIB3DSAPI float lib3ds_quat_dot(float a[4], float b[4])
Definition: lib3ds_quat.c:170
Lib3dsLogLevel
Lib3dsLogLevel
Definition: lib3ds.h:49
lib3ds_vector_normal
LIB3DSAPI void lib3ds_vector_normal(float n[3], float a[3], float b[3], float c[3])
Definition: lib3ds_vector.c:182
Lib3dsKeyFlags
Lib3dsKeyFlags
Definition: lib3ds.h:418
index
GLuint index
Definition: glew.h:1800
Lib3dsLight::ray_bias
float ray_bias
Definition: lib3ds.h:325
Lib3dsMaterial::texture2_mask
Lib3dsTextureMap texture2_mask
Definition: lib3ds.h:252
LIB3DS_NODE_MORPH_MATERIALS
Definition: lib3ds.h:402
LIB3DS_LAYOUT_THREE_PANE_TOP_SPLIT
Definition: lib3ds.h:134
Lib3dsFile::lights
Lib3dsLight ** lights
Definition: lib3ds.h:550
LIB3DS_MAP_SPHERICAL
Definition: lib3ds.h:335
lib3ds_file_remove_material
LIB3DSAPI void lib3ds_file_remove_material(Lib3dsFile *file, int index)
Definition: lib3ds_file.c:942
Lib3dsAtmosphere::fog_far_density
float fog_far_density
Definition: lib3ds.h:74
Lib3dsShading
Lib3dsShading
Definition: lib3ds.h:215
Lib3dsNodeFlags
Lib3dsNodeFlags
Definition: lib3ds.h:397
Lib3dsFile::meshes
Lib3dsMesh ** meshes
Definition: lib3ds.h:553
Lib3dsTargetNode
struct Lib3dsTargetNode Lib3dsTargetNode
LIB3DS_TRACK_VECTOR
Definition: lib3ds.h:440
Lib3dsMaterial::reflection_map
Lib3dsTextureMap reflection_map
Definition: lib3ds.h:263
LIB3DS_TEXTURE_MIRROR
Definition: lib3ds.h:179
Lib3dsAtmosphere::fog_near_density
float fog_near_density
Definition: lib3ds.h:72
lib3ds_quat_normalize
LIB3DSAPI void lib3ds_quat_normalize(float c[4])
Definition: lib3ds_quat.c:128
Lib3dsBackground::use_gradient
int use_gradient
Definition: lib3ds.h:95
Lib3dsAtmosphere::layer_fog_density
float layer_fog_density
Definition: lib3ds.h:80
Lib3dsNode
Definition: lib3ds.h:405
Lib3dsMaterial::use_falloff
int use_falloff
Definition: lib3ds.h:240
matrix
GLuint GLenum matrix
Definition: glew.h:13408
lib3ds_quat_cnj
LIB3DSAPI void lib3ds_quat_cnj(float c[4])
Definition: lib3ds_quat.c:86
Lib3dsSpotlightNode::hotspot
float hotspot
Definition: lib3ds.h:514
Lib3dsMesh::user_ptr
void * user_ptr
Definition: lib3ds.h:361
Lib3dsLight::spot_light
int spot_light
Definition: lib3ds.h:303
scale
GLenum GLenum GLenum GLenum GLenum scale
Definition: glew.h:12632
Lib3dsMeshInstanceNode::bbox_max
float bbox_max[3]
Definition: lib3ds.h:473
Lib3dsMaterial::map_decal
int map_decal
Definition: lib3ds.h:245
Lib3dsMaterial
Definition: lib3ds.h:224
Lib3dsCamera::user_id
unsigned user_id
Definition: lib3ds.h:284
Lib3dsTextureMap
Definition: lib3ds.h:190
LIB3DS_AUTOREFL_READ_FIRST_FRAME_ONLY
Definition: lib3ds.h:210
lib3ds_mesh_resize_vertices
LIB3DSAPI void lib3ds_mesh_resize_vertices(Lib3dsMesh *mesh, int nvertices, int use_texcos, int use_flags)
Definition: lib3ds_mesh.c:66
LIB3DS_KEY_USE_EASE_TO
Definition: lib3ds.h:422
Lib3dsKey
Definition: lib3ds.h:426
LIB3DS_NODE_OMNILIGHT
Definition: lib3ds.h:392
lib3ds_file_insert_node
LIB3DSAPI void lib3ds_file_insert_node(Lib3dsFile *file, Lib3dsNode *node, Lib3dsNode *at)
Definition: lib3ds_file.c:1172
Lib3dsShadow::hi_bias
float hi_bias
Definition: lib3ds.h:106
LIB3DS_LAYOUT_FOUR_PANE_LEFT_SPLIT
Definition: lib3ds.h:137
Lib3dsMaterial::use_blur
int use_blur
Definition: lib3ds.h:233
lib3ds_vector_add
LIB3DSAPI void lib3ds_vector_add(float c[3], float a[3], float b[3])
Definition: lib3ds_vector.c:55
Lib3dsAtmosphere::use_layer_fog
int use_layer_fog
Definition: lib3ds.h:75
Lib3dsMeshInstanceNode::instance_name
char instance_name[64]
Definition: lib3ds.h:471
Lib3dsIo::tell_func
long(* tell_func)(void *self)
Definition: lib3ds.h:60
Lib3dsAtmosphere::dist_cue_near_dimming
float dist_cue_near_dimming
Definition: lib3ds.h:84
Lib3dsViewport::default_camera
char default_camera[64]
Definition: lib3ds.h:173
LIB3DS_TRACK_UNLINK_Y
Definition: lib3ds.h:451
Lib3dsMaterial::falloff
float falloff
Definition: lib3ds.h:236
lib3ds_node_new_mesh_instance
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
Lib3dsMesh::texcos
float(* texcos)[2]
Definition: lib3ds.h:368
LIB3DS_LAYOUT_THREE_PANE_LEFT_SPLIT
Definition: lib3ds.h:131
Lib3dsCameraNode::fov
float fov
Definition: lib3ds.h:489
LIB3DS_TRACK_SMOOTH
Definition: lib3ds.h:446
Lib3dsKey::frame
int frame
Definition: lib3ds.h:427
y
EGLSurface EGLint EGLint y
Definition: eglext.h:293
LIB3DS_NODE_AMBIENT_COLOR
Definition: lib3ds.h:388
Lib3dsViewport::layout_swap_prior
int layout_swap_prior
Definition: lib3ds.h:161
lib3ds_matrix_neg
LIB3DSAPI void lib3ds_matrix_neg(float m[4][4])
Definition: lib3ds_matrix.c:65
Lib3dsMaterial::opacity_map
Lib3dsTextureMap opacity_map
Definition: lib3ds.h:253
lib3ds_file_minmax_node_id
LIB3DSAPI void lib3ds_file_minmax_node_id(Lib3dsFile *file, unsigned short *min_id, unsigned short *max_id)
Definition: lib3ds_file.c:1266
Lib3dsLight::see_cone
int see_cone
Definition: lib3ds.h:304
Lib3dsIo::log_func
void(* log_func)(void *self, Lib3dsLogLevel level, int indent, const char *msg)
Definition: lib3ds.h:63
Lib3dsView::zoom
float zoom
Definition: lib3ds.h:147
lib3ds_mesh_bounding_box
LIB3DSAPI void lib3ds_mesh_bounding_box(Lib3dsMesh *mesh, float bmin[3], float bmax[3])
Definition: lib3ds_mesh.c:105
Lib3dsView::center
float center[3]
Definition: lib3ds.h:148
Lib3dsAtmosphere::dist_cue_background
int dist_cue_background
Definition: lib3ds.h:82
Lib3dsSpotlightNode::roll
float roll
Definition: lib3ds.h:516
Lib3dsIo::write_func
size_t(* write_func)(void *self, const void *buffer, size_t size)
Definition: lib3ds.h:62
Lib3dsSpotlightNode::roll_track
Lib3dsTrack roll_track
Definition: lib3ds.h:521
value
EGLSurface EGLint void ** value
Definition: eglext.h:301
Lib3dsMaterial::blur
float blur
Definition: lib3ds.h:234
Lib3dsIo
Definition: lib3ds.h:56
lib3ds_file_node_by_id
LIB3DSAPI Lib3dsNode * lib3ds_file_node_by_id(Lib3dsFile *file, unsigned short node_id)
Definition: lib3ds_file.c:1130
Lib3dsMaterial
struct Lib3dsMaterial Lib3dsMaterial
Lib3dsAtmosphere::use_fog
int use_fog
Definition: lib3ds.h:68
lib3ds_matrix_translate
LIB3DSAPI void lib3ds_matrix_translate(float m[4][4], float x, float y, float z)
Definition: lib3ds_matrix.c:328
lib3ds_vector_scalar_mul
LIB3DSAPI void lib3ds_vector_scalar_mul(float c[3], float a[3], float k)
Definition: lib3ds_vector.c:86
LIB3DS_SEEK_SET
Definition: lib3ds.h:44
Lib3dsFile
struct Lib3dsFile Lib3dsFile
Lib3dsViewport
Definition: lib3ds.h:157
Lib3dsOmnilightNode::color_track
Lib3dsTrack color_track
Definition: lib3ds.h:507
Lib3dsNode::childs
struct Lib3dsNode * childs
Definition: lib3ds.h:409
Lib3dsTrack::nkeys
int nkeys
Definition: lib3ds.h:458
lib3ds_vector_sub
LIB3DSAPI void lib3ds_vector_sub(float c[3], float a[3], float b[3])
Definition: lib3ds_vector.c:71
Lib3dsMaterial::shininess_map
Lib3dsTextureMap shininess_map
Definition: lib3ds.h:259
offset
GLintptr offset
Definition: glew.h:1668
lib3ds_mesh_calculate_vertex_normals
LIB3DSAPI void lib3ds_mesh_calculate_vertex_normals(Lib3dsMesh *mesh, float(*normals)[3])
Definition: lib3ds_mesh.c:163
Lib3dsLight::user_ptr
void * user_ptr
Definition: lib3ds.h:300
lib3ds_matrix_camera
LIB3DSAPI void lib3ds_matrix_camera(float m[4][4], float pos[3], float tgt[3], float roll)
Definition: lib3ds_matrix.c:423
Lib3dsSpotlightNode::pos
float pos[3]
Definition: lib3ds.h:512
Lib3dsOmnilightNode
struct Lib3dsOmnilightNode Lib3dsOmnilightNode
Lib3dsMaterial::self_illum_flag
int self_illum_flag
Definition: lib3ds.h:238
Lib3dsFile::master_scale
float master_scale
Definition: lib3ds.h:530
lib3ds_file_insert_light
LIB3DSAPI void lib3ds_file_insert_light(Lib3dsFile *file, Lib3dsLight *light, int index)
Definition: lib3ds_file.c:1007
Lib3dsKey::cont
float cont
Definition: lib3ds.h:430
Lib3dsCamera::near_range
float near_range
Definition: lib3ds.h:293
lib3ds_track_eval_float
LIB3DSAPI void lib3ds_track_eval_float(Lib3dsTrack *track, float *f, float t)
Definition: lib3ds_track.c:347
Lib3dsMesh::box_left
char box_left[64]
Definition: lib3ds.h:374
Lib3dsAmbientColorNode
Definition: lib3ds.h:462
Lib3dsTextureMap::blur
float blur
Definition: lib3ds.h:196
Lib3dsLight::rectangular_spot
int rectangular_spot
Definition: lib3ds.h:315
q
GLdouble GLdouble GLdouble GLdouble q
Definition: glew.h:1400
LIB3DS_TEXTURE_SUMMED_AREA
Definition: lib3ds.h:182
lib3ds_matrix_scalar
LIB3DSAPI void lib3ds_matrix_scalar(float m[4][4], float k)
Definition: lib3ds_matrix.c:155
Lib3dsTextureMap::user_id
unsigned user_id
Definition: lib3ds.h:191
Lib3dsMesh::box_top
char box_top[64]
Definition: lib3ds.h:376
Lib3dsFile::keyf_revision
unsigned keyf_revision
Definition: lib3ds.h:528
lib3ds_quat_mul
LIB3DSAPI void lib3ds_quat_mul(float c[4], float a[4], float b[4])
Definition: lib3ds_quat.c:101
Lib3dsSpotlightNode::pos_track
Lib3dsTrack pos_track
Definition: lib3ds.h:517
lib3ds_matrix_zero
LIB3DSAPI void lib3ds_matrix_zero(float m[4][4])
Definition: lib3ds_matrix.c:27
level
GLint level
Definition: gl2ext.h:845
Lib3dsMeshInstanceNode
struct Lib3dsMeshInstanceNode Lib3dsMeshInstanceNode
Lib3dsMaterial::shininess
float shininess
Definition: lib3ds.h:231
Lib3dsMesh::map_planar_size
float map_planar_size[2]
Definition: lib3ds.h:383
Lib3dsBackground
Definition: lib3ds.h:90
lib3ds_vector_cross
LIB3DSAPI void lib3ds_vector_cross(float c[3], float a[3], float b[3])
Definition: lib3ds_vector.c:102
lib3ds_mesh_resize_faces
LIB3DSAPI void lib3ds_mesh_resize_faces(Lib3dsMesh *mesh, int nfaces)
Definition: lib3ds_mesh.c:86
Lib3dsFace
struct Lib3dsFace Lib3dsFace
Lib3dsIo::impl
void * impl
Definition: lib3ds.h:57
lib3ds_matrix_sub
LIB3DSAPI void lib3ds_matrix_sub(float m[4][4], float a[4][4], float b[4][4])
Definition: lib3ds_matrix.c:117
Lib3dsAtmosphere::fog_near_plane
float fog_near_plane
Definition: lib3ds.h:71
Lib3dsTrack
struct Lib3dsTrack Lib3dsTrack
Lib3dsIo::read_func
size_t(* read_func)(void *self, void *buffer, size_t size)
Definition: lib3ds.h:61
Lib3dsMeshInstanceNode::scl_track
Lib3dsTrack scl_track
Definition: lib3ds.h:482
Lib3dsCamera::object_flags
unsigned object_flags
Definition: lib3ds.h:287
b
GLdouble GLdouble GLdouble b
Definition: glew.h:8383
z
GLint GLint GLint GLint z
Definition: gl2ext.h:1214
Lib3dsNode
struct Lib3dsNode Lib3dsNode
lib3ds_matrix_inv
LIB3DSAPI int lib3ds_matrix_inv(float m[4][4])
Definition: lib3ds_matrix.c:229
Lib3dsFace::material
int material
Definition: lib3ds.h:354
Lib3dsSpotlightNode::base
Lib3dsNode base
Definition: lib3ds.h:511
lib3ds_vector_dot
LIB3DSAPI float lib3ds_vector_dot(float a[3], float b[3])
Definition: lib3ds_vector.c:118
Lib3dsMeshInstanceNode::bbox_min
float bbox_min[3]
Definition: lib3ds.h:472
lib3ds_node_by_name
LIB3DSAPI Lib3dsNode * lib3ds_node_by_name(Lib3dsNode *node, const char *name, Lib3dsNodeType type)
Definition: lib3ds_node.c:491
lib3ds_file_open
LIB3DSAPI Lib3dsFile * lib3ds_file_open(const char *filename)
Definition: lib3ds_file.c:83
Lib3dsAtmosphere::layer_fog_flags
unsigned layer_fog_flags
Definition: lib3ds.h:76
lib3ds_node_by_id
LIB3DSAPI Lib3dsNode * lib3ds_node_by_id(Lib3dsNode *node, unsigned short node_id)
Definition: lib3ds_node.c:518
Lib3dsMeshInstanceNode::hide
int hide
Definition: lib3ds.h:474
LIB3DS_SHADING_PHONG
Definition: lib3ds.h:219
Lib3dsMaterial::ambient
float ambient[3]
Definition: lib3ds.h:228
Lib3dsSpotlightNode::falloff
float falloff
Definition: lib3ds.h:515
Lib3dsLight::outer_range
float outer_range
Definition: lib3ds.h:310
Lib3dsMaterial::texture2_map
Lib3dsTextureMap texture2_map
Definition: lib3ds.h:251
LIB3DS_TRACK_FLOAT
Definition: lib3ds.h:439
Lib3dsNode::parent
struct Lib3dsNode * parent
Definition: lib3ds.h:410
LIB3DS_NODE_SPOTLIGHT_TARGET
Definition: lib3ds.h:394
Lib3dsMeshInstanceNode::hide_track
Lib3dsTrack hide_track
Definition: lib3ds.h:483
lib3ds_node_new_spotlight
LIB3DSAPI Lib3dsSpotlightNode * lib3ds_node_new_spotlight(Lib3dsLight *light)
Definition: lib3ds_node.c:228
lib3ds_matrix_det
LIB3DSAPI float lib3ds_matrix_det(float m[4][4])
Definition: lib3ds_matrix.c:191
Lib3dsTextureMap::tint_r
float tint_r[3]
Definition: lib3ds.h:202
Lib3dsFace::smoothing_group
unsigned smoothing_group
Definition: lib3ds.h:355
lib3ds_quat_tangent
LIB3DSAPI void lib3ds_quat_tangent(float c[4], float p[4], float q[4], float n[4])
Definition: lib3ds_quat.c:275
lib3ds_track_free
LIB3DSAPI void lib3ds_track_free(Lib3dsTrack *track)
Definition: lib3ds_track.c:31
src
GLenum src
Definition: glew.h:2396
Lib3dsMaterial::shininess_mask
Lib3dsTextureMap shininess_mask
Definition: lib3ds.h:260
Lib3dsFile::cameras
Lib3dsCamera ** cameras
Definition: lib3ds.h:547
Lib3dsViewport
struct Lib3dsViewport Lib3dsViewport
Lib3dsCamera::user_ptr
void * user_ptr
Definition: lib3ds.h:285
Lib3dsAtmosphere::dist_cue_far_plane
float dist_cue_far_plane
Definition: lib3ds.h:85
LIB3DS_LAYOUT_THREE_PANE_HORIZ_SPLIT
Definition: lib3ds.h:136
lib3ds_vector_length
LIB3DSAPI float lib3ds_vector_length(float c[3])
Definition: lib3ds_vector.c:133
LIB3DS_LAYOUT_TWO_PANE_VERT_SPLIT
Definition: lib3ds.h:128
Lib3dsLight::position
float position[3]
Definition: lib3ds.h:306
Lib3dsKey::bias
float bias
Definition: lib3ds.h:431
Lib3dsAtmosphere::layer_fog_near_y
float layer_fog_near_y
Definition: lib3ds.h:78
LIB3DS_SHADING_WIRE_FRAME
Definition: lib3ds.h:216
Lib3dsAmbientColorNode::base
Lib3dsNode base
Definition: lib3ds.h:463
Lib3dsLight::falloff
float falloff
Definition: lib3ds.h:327
lib3ds_quat_axis_angle
LIB3DSAPI void lib3ds_quat_axis_angle(float c[4], float axis[3], float angle)
Definition: lib3ds_quat.c:51
LIB3DS_LAYOUT_SINGLE
Definition: lib3ds.h:127
lib3ds_file_node_by_name
LIB3DSAPI Lib3dsNode * lib3ds_file_node_by_name(Lib3dsFile *file, const char *name, Lib3dsNodeType type)
Definition: lib3ds_file.c:1100
lib3ds_matrix_transpose
LIB3DSAPI void lib3ds_matrix_transpose(float m[4][4])
Definition: lib3ds_matrix.c:80
Lib3dsKey::ease_to
float ease_to
Definition: lib3ds.h:432
Lib3dsLight::shadow_size
int shadow_size
Definition: lib3ds.h:319
LIB3DS_KEY_USE_EASE_FROM
Definition: lib3ds.h:423
LIB3DS_OBJECT_HIDDEN
Definition: lib3ds.h:273
Lib3dsKey
struct Lib3dsKey Lib3dsKey
Lib3dsFile::nlights
int nlights
Definition: lib3ds.h:549
LIB3DS_TEXTURE_DECALE
Definition: lib3ds.h:178
Lib3dsMeshInstanceNode::base
Lib3dsNode base
Definition: lib3ds.h:469
LIB3DS_LOG_WARN
Definition: lib3ds.h:51
Lib3dsTargetNode::pos
float pos[3]
Definition: lib3ds.h:498
Lib3dsMaterial::self_illum_mask
Lib3dsTextureMap self_illum_mask
Definition: lib3ds.h:262
Lib3dsTargetNode::pos_track
Lib3dsTrack pos_track
Definition: lib3ds.h:499
LIB3DS_VIEW_BOTTOM
Definition: lib3ds.h:115
lib3ds_vector_neg
LIB3DSAPI void lib3ds_vector_neg(float c[3])
Lib3dsMesh::box_bottom
char box_bottom[64]
Definition: lib3ds.h:377
LIB3DS_LAYOUT_THREE_PANE_RIGHT_SPLIT
Definition: lib3ds.h:133
Lib3dsBackground::use_bitmap
int use_bitmap
Definition: lib3ds.h:91
lib3ds_file_insert_material
LIB3DSAPI void lib3ds_file_insert_material(Lib3dsFile *file, Lib3dsMaterial *material, int index)
Definition: lib3ds_file.c:935
LIB3DS_TEXTURE_NEGATE
Definition: lib3ds.h:180
Lib3dsMaterial::user_ptr
void * user_ptr
Definition: lib3ds.h:226
Lib3dsMaterial::is_additive
int is_additive
Definition: lib3ds.h:237
Lib3dsNode::flags
unsigned flags
Definition: lib3ds.h:414
Lib3dsLight::shadow_bias
float shadow_bias
Definition: lib3ds.h:317
lib3ds_track_new
LIB3DSAPI Lib3dsTrack * lib3ds_track_new(Lib3dsTrackType type, int nkeys)
Definition: lib3ds_track.c:22
lib3ds_quat_copy
LIB3DSAPI void lib3ds_quat_copy(float dest[4], float src[4])
Definition: lib3ds_quat.c:35
Lib3dsFile::materials
Lib3dsMaterial ** materials
Definition: lib3ds.h:544
LIB3DS_NODE_SPOTLIGHT
Definition: lib3ds.h:393
LIB3DS_TEXTURE_ALPHA_SOURCE
Definition: lib3ds.h:183
lib3ds_file_create_nodes_for_meshes
LIB3DSAPI void lib3ds_file_create_nodes_for_meshes(Lib3dsFile *file)
Definition: lib3ds_file.c:1417
LIB3DS_MAP_PLANAR
Definition: lib3ds.h:333
Lib3dsCameraNode::roll_track
Lib3dsTrack roll_track
Definition: lib3ds.h:493
Lib3dsViewport::default_horiz_angle
float default_horiz_angle
Definition: lib3ds.h:170
Lib3dsFile::cameras_size
int cameras_size
Definition: lib3ds.h:545
Lib3dsNodeType
Lib3dsNodeType
Definition: lib3ds.h:387
size_t
unsigned int size_t
Definition: SDL_config_windows.h:67
LIB3DS_LOG_ERROR
Definition: lib3ds.h:50
Lib3dsTextureMap::tint_2
float tint_2[3]
Definition: lib3ds.h:201
lib3ds_matrix_copy
LIB3DSAPI void lib3ds_matrix_copy(float dest[4][4], float src[4][4])
Definition: lib3ds_matrix.c:56
Lib3dsTextureMap::user_ptr
void * user_ptr
Definition: lib3ds.h:192
Lib3dsSpotlightNode::falloff_track
Lib3dsTrack falloff_track
Definition: lib3ds.h:520
Lib3dsKey::flags
unsigned flags
Definition: lib3ds.h:428
Lib3dsMesh
struct Lib3dsMesh Lib3dsMesh
Lib3dsAtmosphere
struct Lib3dsAtmosphere Lib3dsAtmosphere
size
GLsizei size
Definition: gl2ext.h:1467
m
const GLdouble * m
Definition: glew.h:8385
Lib3dsMaterial::bump_map
Lib3dsTextureMap bump_map
Definition: lib3ds.h:255
Lib3dsBackground::use_solid
int use_solid
Definition: lib3ds.h:93