44 strcpy(mesh->
name, name);
72 use_texcos? nvertices : 0,
78 use_flags? nvertices : 0,
90 for (i = mesh->
nfaces; i < nfaces; ++i) {
107 bmin[0] = bmin[1] = bmin[2] = FLT_MAX;
108 bmax[0] = bmax[1] = bmax[2] = -FLT_MAX;
124 for (i = 0; i < mesh->
nfaces; ++
i) {
175 for (i = 0; i < mesh->
nfaces; ++
i) {
176 for (j = 0; j < 3; ++
j) {
178 float p[3],
q[3],
n[3];
198 for (i = 0; i < mesh->
nfaces; ++
i) {
200 for (j = 0; j < 3; ++
j) {
211 for (p = fl[mesh->
faces[i].
index[j]]; p; p = p->next) {
212 pf = &mesh->
faces[p->index];
217 for (p = fl[mesh->
faces[i].
index[j]]; p; p = p->next) {
218 pf = &mesh->
faces[p->index];
250 for (i = 0; i < nfaces; ++
i) {
271 for (i = 0; i <
n; ++
i) {
284 for (i = 0; i < mesh->
nfaces; ++
i) {
323 for (i = 0; i < 4; i++) {
324 for (j = 0; j < 3; j++) {
351 for (i = 0; i < nflags; ++
i) {
368 for (i = 0; i < 2; ++
i) {
371 for (i = 0; i < 3; ++
i) {
377 for (i = 0; i < 4; i++) {
378 for (j = 0; j < 3; j++) {
382 for (i = 0; i < 2; ++
i) {
396 for (i = 0; i < ntexcos; ++
i) {
411 float inv_matrix[4][4], M[4][4];
450 float inv_matrix[4][4], M[4][4];
501 for (i = 0; i < mesh->
nfaces; ++
i) {
517 for (i = 0; i < mesh->
nfaces; ++
i) {
522 for (j = i + 1; j < mesh->
nfaces; ++
j) {
533 for (j = i + 1; j < mesh->
nfaces; ++
j) {
554 for (i = 0; i < mesh->
nfaces; ++
i) {
629 for (i = 0; i < 2; ++
i) {
635 for (i = 0; i < 4; i++) {
636 for (j = 0; j < 3; j++) {
640 for (i = 0; i < 2; ++
i) {
656 for (i = 0; i < 4; i++) {
657 for (j = 0; j < 3; j++) {
LIB3DSAPI void lib3ds_vector_transform(float c[3], float m[4][4], float a[3])
float map_cylinder_height
static void face_array_read(Lib3dsFile *file, Lib3dsMesh *mesh, Lib3dsIo *io)
else Out of place iCCP chunk
static void point_array_write(Lib3dsMesh *mesh, Lib3dsIo *io)
static void face_array_write(Lib3dsFile *file, Lib3dsMesh *mesh, Lib3dsIo *io)
void lib3ds_io_write_byte(Lib3dsIo *io, uint8_t b)
void lib3ds_io_read_vector(Lib3dsIo *io, float v[3])
void lib3ds_chunk_unknown(uint16_t chunk, Lib3dsIo *io)
EGLImageKHR EGLint * name
LIB3DSAPI void lib3ds_matrix_scale(float m[4][4], float x, float y, float z)
LIB3DSAPI void lib3ds_matrix_identity(float m[4][4])
uint32_t lib3ds_io_read_dword(Lib3dsIo *io)
GLuint GLuint GLfloat weight
LIB3DSAPI void lib3ds_mesh_calculate_face_normals(Lib3dsMesh *mesh, float(*face_normals)[3])
LIB3DSAPI void lib3ds_matrix_mult(float m[4][4], float a[4][4], float b[4][4])
uint16_t lib3ds_chunk_read_next(Lib3dsChunk *c, Lib3dsIo *io)
void lib3ds_mesh_write(Lib3dsFile *file, Lib3dsMesh *mesh, Lib3dsIo *io)
LIB3DSAPI void lib3ds_vector_max(float c[3], float a[3])
void lib3ds_io_write_string(Lib3dsIo *io, const char *s)
void lib3ds_chunk_write_start(Lib3dsChunk *c, Lib3dsIo *io)
void lib3ds_io_write_vector(Lib3dsIo *io, float v[3])
uint8_t lib3ds_io_read_byte(Lib3dsIo *io)
LIB3DSAPI void lib3ds_vector_min(float c[3], float a[3])
LIB3DSAPI void lib3ds_vector_copy(float dst[3], float src[3])
void lib3ds_io_write_float(Lib3dsIo *io, float l)
void lib3ds_chunk_read_reset(Lib3dsChunk *c, Lib3dsIo *io)
LIB3DSAPI void lib3ds_mesh_free(Lib3dsMesh *mesh)
LIB3DSAPI void lib3ds_vector_zero(float c[3])
static void texco_array_write(Lib3dsMesh *mesh, Lib3dsIo *io)
LIB3DSAPI Lib3dsMesh * lib3ds_mesh_new(const char *name)
LIB3DSAPI int lib3ds_file_material_by_name(Lib3dsFile *file, const char *name)
LIB3DSAPI void lib3ds_vector_normalize(float c[3])
void * lib3ds_util_realloc_array(void *ptr, int old_size, int new_size, int element_size)
uint16_t lib3ds_io_read_word(Lib3dsIo *io)
LIB3DSAPI void lib3ds_vector_normal(float n[3], float a[3], float b[3], float c[3])
float lib3ds_io_read_float(Lib3dsIo *io)
struct Lib3dsFaces Lib3dsFaces
LIB3DSAPI void lib3ds_mesh_resize_vertices(Lib3dsMesh *mesh, int nvertices, int use_texcos, int use_flags)
LIB3DSAPI void lib3ds_vector_add(float c[3], float a[3], float b[3])
void lib3ds_chunk_read_end(Lib3dsChunk *c, Lib3dsIo *io)
void lib3ds_chunk_read_tell(Lib3dsChunk *c, Lib3dsIo *io)
LIB3DSAPI void lib3ds_mesh_bounding_box(Lib3dsMesh *mesh, float bmin[3], float bmax[3])
LIB3DSAPI void lib3ds_vector_scalar_mul(float c[3], float a[3], float k)
static void flag_array_write(Lib3dsMesh *mesh, Lib3dsIo *io)
LIB3DSAPI void lib3ds_vector_sub(float c[3], float a[3], float b[3])
void lib3ds_io_read_string(Lib3dsIo *io, char *s, int buflen)
LIB3DSAPI void lib3ds_mesh_calculate_vertex_normals(Lib3dsMesh *mesh, float(*normals)[3])
GLdouble GLdouble GLdouble GLdouble q
void lib3ds_chunk_write(Lib3dsChunk *c, Lib3dsIo *io)
void lib3ds_chunk_read_start(Lib3dsChunk *c, uint16_t chunk, Lib3dsIo *io)
LIB3DSAPI void lib3ds_vector_cross(float c[3], float a[3], float b[3])
LIB3DSAPI void lib3ds_mesh_resize_faces(Lib3dsMesh *mesh, int nfaces)
LIB3DSAPI int lib3ds_matrix_inv(float m[4][4])
LIB3DSAPI float lib3ds_vector_dot(float a[3], float b[3])
LIB3DSAPI float lib3ds_matrix_det(float m[4][4])
LIB3DSAPI float lib3ds_vector_length(float c[3])
void lib3ds_io_write_dword(Lib3dsIo *io, uint32_t d)
void lib3ds_mesh_read(Lib3dsFile *file, Lib3dsMesh *mesh, Lib3dsIo *io)
void lib3ds_chunk_write_end(Lib3dsChunk *c, Lib3dsIo *io)
Lib3dsMaterial ** materials
LIB3DSAPI void lib3ds_matrix_copy(float dest[4][4], float src[4][4])
void lib3ds_io_write_word(Lib3dsIo *io, uint16_t w)