22 Jul 2008 03:03
multiple materials per mesh - new in lib3ds 2.0 ?
Hi,
In looking through this forum a few weeks back, I found this post http://sourceforge.net/mailarchive/forum.php?thread_name=1074644471.3365.48.camel%40localhost&forum_name=lib3ds-devel
from which I concluded that one mesh can only have one material. However, in the upcoming 2.0 release of lib3ds there is an example called cube.c which now leads me to think otherwise. Below is the relevant part of cube.c:
//-------------------------------------------------------------------------------
//first material
Lib3dsMaterial *mat = lib3ds_material_new("c_tex");
lib3ds_file_insert_material(file, mat, -1);
strcpy(mat->texture1_map.name, "cube.tga");
mat->texture1_map.percent = 1.0;
//second material
mat = lib3ds_material_new("c_red");
lib3ds_file_insert_material(file, mat, -1);
mat->diffuse[0] = 1.0;
mat->diffuse[1] = 0.0;
mat->diffuse[2] = 0.0;
//third material
mat = lib3ds_material_new("c_blue");
lib3ds_file_insert_material(file, mat, -1);
mat->diffuse[0] = 0.0;
mat->diffuse[1] = 0.0;
mat->diffuse[2] = 1.0;
}
Lib3dsMesh *mesh = lib3ds_mesh_new("cube");
for (i = 0; i < 8; ++i) {
mesh->faces[i].material = 0; //I think this is applying the first material to faces 0 through 7
}
for (i = 0; i < 2; ++i) {
mesh->faces[8+i].material = 1; //I think this is applyingthe second material to faces 8 through 9
}
for (i = 0; i < 2; ++i) {
mesh->faces[10+i].material = 2; //I think this is applyingthe third material to faces 10 through 11
}
//-------------------------------------------------------------------------------
The cube written out has 1 blue face (2 triangles), 1 red face, and 4 grey face. From this it seems that you can have more than one materials per mesh, but one material per face. I am wondering if this is new in lib3ds2.0 or have I always misunderstood that you can have only 1 material per mesh?
Thank you for taking time to help me.
Adrian
In looking through this forum a few weeks back, I found this post http://sourceforge.net/mailarchive/forum.php?thread_name=1074644471.3365.48.camel%40localhost&forum_name=lib3ds-devel
from which I concluded that one mesh can only have one material. However, in the upcoming 2.0 release of lib3ds there is an example called cube.c which now leads me to think otherwise. Below is the relevant part of cube.c:
//-------------------------------------------------------------------------------
//first material
Lib3dsMaterial *mat = lib3ds_material_new("c_tex");
lib3ds_file_insert_material(file, mat, -1);
strcpy(mat->texture1_map.name, "cube.tga");
mat->texture1_map.percent = 1.0;
//second material
mat = lib3ds_material_new("c_red");
lib3ds_file_insert_material(file, mat, -1);
mat->diffuse[0] = 1.0;
mat->diffuse[1] = 0.0;
mat->diffuse[2] = 0.0;
//third material
mat = lib3ds_material_new("c_blue");
lib3ds_file_insert_material(file, mat, -1);
mat->diffuse[0] = 0.0;
mat->diffuse[1] = 0.0;
mat->diffuse[2] = 1.0;
}
Lib3dsMesh *mesh = lib3ds_mesh_new("cube");
for (i = 0; i < 8; ++i) {
mesh->faces[i].material = 0; //I think this is applying the first material to faces 0 through 7
}
for (i = 0; i < 2; ++i) {
mesh->faces[8+i].material = 1; //I think this is applyingthe second material to faces 8 through 9
}
for (i = 0; i < 2; ++i) {
mesh->faces[10+i].material = 2; //I think this is applyingthe third material to faces 10 through 11
}
//-------------------------------------------------------------------------------
The cube written out has 1 blue face (2 triangles), 1 red face, and 4 grey face. From this it seems that you can have more than one materials per mesh, but one material per face. I am wondering if this is new in lib3ds2.0 or have I always misunderstood that you can have only 1 material per mesh?
Thank you for taking time to help me.
Adrian
------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________ lib3ds-devel mailing list lib3ds-devel@... https://lists.sourceforge.net/lists/listinfo/lib3ds-devel
RSS Feed