一.BRF-文件头数据结构
type_mesh = "mesh" 网格
type_material = "material" 材质struct brf_header{int type_length; //4个字节, type字符串对应长度char* type_name; //根据type_length获取int type_content_num; //4个字节,对应类型所含个数,例如含有模型6个
}
例如一个包含2个模型的BRF文件,对应的BRF文件头应该是:
二.BRF-mesh数据结构
int 对应4个字节
float 对应4个字节struct mesh{int name_length;//模型名长度char* name;//模型名const int material_flag = 0;//标志位int material_cnt;//材质名长度int material_name_length;//材质名长度char* material_name;//材质名int vertex_num;//顶点数量(Normal格式顶点) x, y, z三个坐标float类型数值vertex_normal[];int vertex_fvf_num;//顶点数量(FVF格式顶点)顶点数量vertex_fvf[];int triangle_num;//三角面数量triangle[];
}struct vertex_normal{float x;float y;float z;
};struct vertex_fvf{int vertex_fvf_index;const int vertex_uv_flag = -1;//标志位float x;float y;float z;float u;float v;float vnx;float vny;float vnz;
};struct triangle{int v1_index;int v2_index;int v3_index;
}