library: lib3ds 2.0
====================================================
file: lib3ds_node.c
line: 169
original codes:
----------------------------
Lib3dsCameraNode*
lib3ds_node_new_camera(Lib3dsCamera *camera) {
Lib3dsNode *node = lib3ds_node_new(LIB3DS_NODE_CAMERA); Lib3dsCameraNode *n;
assert(camera);
node = lib3ds_node_new(LIB3DS_NODE_CAMERA);
strcpy(node->name, camera->name); n = (Lib3dsCameraNode*)node;
lib3ds_track_resize(&n->pos_track, 1);
lib3ds_vector_copy(n->pos_track.keys[0].value, camera->position); lib3ds_track_resize(&n->fov_track, 1);
n->fov_track.keys[0].value[0] = camera->fov; lib3ds_track_resize(&n->roll_track, 1);
n->roll_track.keys[0].value[0] = camera->roll; return n;
}-----------------------------
my fixed code:
Lib3dsCameraNode*
lib3ds_node_new_camera(Lib3dsCamera *camera) {
Lib3dsNode *node; Lib3dsCameraNode *n;
assert(camera);
node = lib3ds_node_new(LIB3DS_NODE_CAMERA);
strcpy(node->name, camera->name); n = (Lib3dsCameraNode*)node;
lib3ds_track_resize(&n->pos_track, 1);
lib3ds_vector_copy(n->pos_track.keys[0].value, camera->position); lib3ds_track_resize(&n->fov_track, 1);
n->fov_track.keys[0].value[0] = camera->fov; lib3ds_track_resize(&n->roll_track, 1);
n->roll_track.keys[0].value[0] = camera->roll; return n;
}
-------------------------------------------------------------------------------
file: lib3ds_file.c
/* cheungmine */
#ifndef FREE_S
# define FREE_S(p) if(p){ void *t=(void*)(p); (p)=0; free(t); }
#endif
/*!
* Free a Lib3dsFile object and all of its resources.
*
* /param file The Lib3dsFile object to be freed.
*/
void
lib3ds_file_free(Lib3dsFile* file) {
Lib3dsNode *p, *q; assert(file);
lib3ds_file_reserve_materials(file, 0, TRUE);
FREE_S(file->materials) lib3ds_file_reserve_cameras(file, 0, TRUE);
FREE_S(file->cameras) lib3ds_file_reserve_lights(file, 0, TRUE);
FREE_S(file->lights) lib3ds_file_reserve_meshes(file, 0, TRUE);
FREE_S(file->meshes) for (p = file->nodes; p; p = q) {
q = p->next;
lib3ds_node_free(p);
}
free(file);
}
-----------------------------------------------------------------------------------
lib3ds2.0 BUG fix by cheungmine 2009-2-14 china,shanghai
-----------------------------
lib3ds2.0 BUG fix
原创
©著作权归作者所有:来自51CTO博客作者mapaware的原创作品,请联系作者获取转载授权,否则将追究法律责任

提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
An example of lib3ds 2.0 with opengl32
lib3ds 2.0 和 opengl32 例子程序cheungmine2009-2-13 本例使用lib3ds库读取3ds文件,并使用opengl
float matrix file keyboard menu -
3ds
免卡主机游戏安装教程:DEV & Soon2
安装教程 JAVA -
Vue UI lib missing vue bug
Vue UI lib missing vue bug
UI bug CDN vue bootstrap