BRF文件数据结构

一.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;
}

相关推荐

  1. 数据结构BF和KMP算法

    2024-01-07 18:58:02       25 阅读
  2. BAM文件数据结构详解

    2024-01-07 18:58:02       63 阅读
  3. PDF文件底层数据结构

    2024-01-07 18:58:02       42 阅读
  4. 数据结构与算法-图论-DFS/BFS

    2024-01-07 18:58:02       26 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-07 18:58:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-07 18:58:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-07 18:58:02       82 阅读
  4. Python语言-面向对象

    2024-01-07 18:58:02       91 阅读

热门阅读

  1. 【我的Rust库】get_local_info 0.1.6发布

    2024-01-07 18:58:02       50 阅读
  2. C#-接口

    2024-01-07 18:58:02       52 阅读
  3. 解释 Git 的基本概念和使用方式。

    2024-01-07 18:58:02       45 阅读
  4. 自用PHP在线Access转html表格小功能(快速预览access)

    2024-01-07 18:58:02       56 阅读
  5. lambda表达式使用和示例

    2024-01-07 18:58:02       45 阅读
  6. QT 的信号和槽机制实现原理的常见问题问答

    2024-01-07 18:58:02       56 阅读
  7. 【SQL】delete 与 truncate 命令的区别

    2024-01-07 18:58:02       58 阅读
  8. Spring Security之授权

    2024-01-07 18:58:02       50 阅读
  9. socket在两个线程之间进行通信

    2024-01-07 18:58:02       58 阅读
  10. 软件工程_复习

    2024-01-07 18:58:02       48 阅读
  11. LeetCode 第379场周赛个人题解

    2024-01-07 18:58:02       59 阅读