dl
dl_model.h
浏览该文件的文档.
1
13#pragma once
14#include <vulkan/vulkan.h>
15
16#include "dl_model_common.h"
17#include "dl_model_data.h"
18#include "dl_model_object.h"
19
20
21namespace dl
22{
23
24class Model
25{
26 friend class VK;
27 friend class Actor;//添加实例
28 friend class FactoryImp;//获得蒙皮
30private:
31 //绘制实例
32 struct Instance
33 {
34 size_t _idPerObject;// push_constent使用(自己矩阵)
35 size_t _idBone;// ubBone使用
36 };
37
38
39 VkBuffer _vertexBuffer; // 顶点缓冲
40 VkDeviceMemory _vertexBufferMemory; // 顶点缓冲内存
41 VkBuffer _indexBuffer; // 索引缓冲
42 VkDeviceMemory _indexBufferMemory; // 索引缓冲内存
43 std::vector<ModelNodeRt> _treeNode; // 节点树
44 std::vector<int> _treeNodeParent;
45 std::vector<ModelAnimation> _allAnimation; // 动画
46 std::vector<ModelSkin> _allSkin; // 骨骼
47 std::vector<ModelDrawCall> _allSub; // 网格
48
49 std::vector<Instance> _mulInstance; // 实例(每个actor有一个)
50};
51
52}
friend class VK
friend class ModelAnimationInstance
friend class FactoryImp
friend class Actor
读取到的原生数据
中转模型数据