Вот структура класса текстуры и меша
[Flags]
public enum Lib3dsTextureMapFlags
{
LIB3DS_TEXTURE_DECALE = 0x0001,
LIB3DS_TEXTURE_MIRROR = 0x0002,
LIB3DS_TEXTURE_NEGATE = 0x0008,
LIB3DS_TEXTURE_NO_TILE = 0x0010,
LIB3DS_TEXTURE_SUMMED_AREA = 0x0020,
LIB3DS_TEXTURE_ALPHA_SOURCE = 0x0040,
LIB3DS_TEXTURE_TINT = 0x0080,
LIB3DS_TEXTURE_IGNORE_ALPHA = 0x0100,
LIB3DS_TEXTURE_RGB_TINT = 0x0200
}
public class Lib3dsTextureMap
{
//public uint user_id;
//public object user_ptr;
public string name = "";
public Lib3dsTextureMapFlags flags;
public float percent;
public float blur;
public float[] scale = new float[2];
public float[] offset = new float[2];
public float rotation;
public float[] tint_1 = new float[3];
public float[] tint_2 = new float[3];
public float[] tint_r = new float[3];
public float[] tint_g = new float[3];
public float[] tint_b = new float[3];
}
public class Lib3dsMaterial
{
//public uint user_id;
//public object user_ptr;
public string name = ""; // Material name
public float[] ambient = new float[3]; // Material ambient reflectivity
public float[] diffuse = new float[3]; // Material diffuse reflectivity
public float[] specular = new float[3]; // Material specular reflectivity
public float shininess; // Material specular exponent
public float shin_strength;
public bool use_blur;
public float blur;
public float transparency;
public float falloff;
public bool is_additive;
public bool self_illum_flag;
public float self_illum;
public bool use_falloff;
public int shading;
public bool soften;
public bool face_map;
public bool two_sided; // Material visible from back
public bool map_decal;
public bool use_wire;
public bool use_wire_abs;
public float wire_size;
public Lib3dsTextureMap texture1_map = new Lib3dsTextureMap();
public Lib3dsTextureMap texture1_mask = new Lib3dsTextureMap();
public Lib3dsTextureMap texture2_map = new Lib3dsTextureMap();
public Lib3dsTextureMap texture2_mask = new Lib3dsTextureMap();
public Lib3dsTextureMap opacity_map = new Lib3dsTextureMap();
public Lib3dsTextureMap opacity_mask = new Lib3dsTextureMap();
public Lib3dsTextureMap bump_map = new Lib3dsTextureMap();
public Lib3dsTextureMap bump_mask = new Lib3dsTextureMap();
public Lib3dsTextureMap specular_map = new Lib3dsTextureMap();
public Lib3dsTextureMap specular_mask = new Lib3dsTextureMap();
public Lib3dsTextureMap shininess_map = new Lib3dsTextureMap();
public Lib3dsTextureMap shininess_mask = new Lib3dsTextureMap();
public Lib3dsTextureMap self_illum_map = new Lib3dsTextureMap();
public Lib3dsTextureMap self_illum_mask = new Lib3dsTextureMap();
public Lib3dsTextureMap reflection_map = new Lib3dsTextureMap();
public Lib3dsTextureMap reflection_mask = new Lib3dsTextureMap();
public uint autorefl_map_flags;
public int autorefl_map_anti_alias; // 0=None, 1=Low, 2=Medium, 3=High
public int autorefl_map_size;
public int autorefl_map_frame_step;
}
public class Lib3dsMesh
{
//public uint user_id;
//public object user_ptr;
public string name = ""; // Mesh name. Don't use more than 8 characters
public Lib3dsObjectFlags object_flags; // see Lib3dsObjectFlags
public byte color; // Index to editor palette [0..255]
public float[,] matrix = new float[4, 4]; // Transformation matrix for mesh data
public ushort nvertices; // Number of vertices in vertex array (max. 65535)
public List<Lib3dsVertex> vertices;
public List<Lib3dsTexturecoordinate> texcos;
public List<ushort> vflags;
public ushort nfaces; // Number of faces in face array (max. 65535)
public List<Lib3dsFace> faces;
public string box_front = "";
public string box_back = "";
public string box_left = "";
public string box_right = "";
public string box_top = "";
public string box_bottom = "";
public Lib3dsMapType map_type;
public float[] map_pos = new float[3];
public float[,] map_matrix = new float[4, 4];
public float map_scale;
public float[] map_tile = new float[2];
public float[] map_planar_size = new float[2];
public float map_cylinder_height;
} |
2166
13.08.2012
14


.