use VAB instead VertexAttribBuffer.

use VAD instead VertexAttribData.
This commit is contained in:
hyzboy 2020-08-07 21:59:20 +08:00
parent 1964e5da04
commit d26b59cb1d
23 changed files with 79 additions and 58 deletions

2
CMCore

@ -1 +1 @@
Subproject commit c826b3d8e5c0cb77f10729ce81bb388313094a5e Subproject commit 4c22ba5a6066bd60badb65b6ce745562664c1705

View File

@ -45,8 +45,8 @@ private:
vulkan::Pipeline * pipeline =nullptr; vulkan::Pipeline * pipeline =nullptr;
vulkan::VertexAttribBuffer *vertex_buffer =nullptr; vulkan::VAB *vertex_buffer =nullptr;
vulkan::VertexAttribBuffer *tex_coord_buffer =nullptr; vulkan::VAB *tex_coord_buffer =nullptr;
public: public:

View File

@ -36,7 +36,7 @@ private:
vulkan::Pipeline * pipeline =nullptr; vulkan::Pipeline * pipeline =nullptr;
vulkan::VertexAttribBuffer * vertex_buffer =nullptr; vulkan::VAB * vertex_buffer =nullptr;
public: public:

View File

@ -69,8 +69,8 @@ private:
vulkan::Sampler * sampler_linear =nullptr; vulkan::Sampler * sampler_linear =nullptr;
vulkan::Sampler * sampler_nearest =nullptr; vulkan::Sampler * sampler_nearest =nullptr;
vulkan::VertexAttribBuffer * vertex_buffer =nullptr; vulkan::VAB * vertex_buffer =nullptr;
vulkan::VertexAttribBuffer * tex_coord_buffer =nullptr; vulkan::VAB * tex_coord_buffer =nullptr;
vulkan::IndexBuffer * index_buffer =nullptr; vulkan::IndexBuffer * index_buffer =nullptr;
SceneNode render_root; SceneNode render_root;

View File

@ -36,7 +36,7 @@ vulkan::Renderable *CreateMeshRenderable(SceneDB *db,vulkan::Material *mtl,const
if(vertex_binding==-1) if(vertex_binding==-1)
return(nullptr); return(nullptr);
vulkan::VertexAttribBuffer *vbo=db->CreateVAB(FMT_RGB32F,mesh->vertex_count,mesh->position); vulkan::VAB *vbo=db->CreateVAB(FMT_RGB32F,mesh->vertex_count,mesh->position);
render_obj=mtl->CreateRenderable(); render_obj=mtl->CreateRenderable();
render_obj->Set(vertex_binding,vbo); render_obj->Set(vertex_binding,vbo);
@ -47,7 +47,7 @@ vulkan::Renderable *CreateMeshRenderable(SceneDB *db,vulkan::Material *mtl,const
if(normal_binding!=-1) if(normal_binding!=-1)
{ {
vulkan::VertexAttribBuffer *vbo=db->CreateVAB(FMT_RGB32F,mesh->vertex_count,mesh->normal); vulkan::VAB *vbo=db->CreateVAB(FMT_RGB32F,mesh->vertex_count,mesh->normal);
render_obj->Set(normal_binding,vbo); render_obj->Set(normal_binding,vbo);
} }
@ -56,7 +56,7 @@ vulkan::Renderable *CreateMeshRenderable(SceneDB *db,vulkan::Material *mtl,const
if(tagent_binding!=-1) if(tagent_binding!=-1)
{ {
vulkan::VertexAttribBuffer *vbo=db->CreateVAB(FMT_RGB32F,mesh->vertex_count,mesh->tangent); vulkan::VAB *vbo=db->CreateVAB(FMT_RGB32F,mesh->vertex_count,mesh->tangent);
render_obj->Set(tagent_binding,vbo); render_obj->Set(tagent_binding,vbo);
} }
@ -65,7 +65,7 @@ vulkan::Renderable *CreateMeshRenderable(SceneDB *db,vulkan::Material *mtl,const
if(bitagent_binding!=-1) if(bitagent_binding!=-1)
{ {
vulkan::VertexAttribBuffer *vbo=db->CreateVAB(FMT_RGB32F,mesh->vertex_count,mesh->bitangent); vulkan::VAB *vbo=db->CreateVAB(FMT_RGB32F,mesh->vertex_count,mesh->bitangent);
render_obj->Set(bitagent_binding,vbo); render_obj->Set(bitagent_binding,vbo);
} }

View File

@ -45,8 +45,8 @@ private:
vulkan::Pipeline * pipeline =nullptr; vulkan::Pipeline * pipeline =nullptr;
vulkan::VertexAttribBuffer *vertex_buffer =nullptr; vulkan::VAB *vertex_buffer =nullptr;
vulkan::VertexAttribBuffer *tex_coord_buffer =nullptr; vulkan::VAB *tex_coord_buffer =nullptr;
private: private:

View File

@ -42,8 +42,8 @@ private:
vulkan::Pipeline * pipeline =nullptr; vulkan::Pipeline * pipeline =nullptr;
vulkan::VertexAttribBuffer * vertex_buffer =nullptr; vulkan::VAB * vertex_buffer =nullptr;
vulkan::VertexAttribBuffer * color_buffer =nullptr; vulkan::VAB * color_buffer =nullptr;
public: public:

View File

@ -47,7 +47,7 @@ private:
vulkan::Pipeline * pipeline =nullptr; vulkan::Pipeline * pipeline =nullptr;
vulkan::VertexAttribBuffer *vertex_buffer =nullptr; vulkan::VAB *vertex_buffer =nullptr;
vulkan::IndexBuffer * index_buffer =nullptr; vulkan::IndexBuffer * index_buffer =nullptr;
public: public:

View File

@ -57,8 +57,8 @@ private:
vulkan::Pipeline * pipeline =nullptr; vulkan::Pipeline * pipeline =nullptr;
vulkan::VertexAttribBuffer * vertex_buffer =nullptr; vulkan::VAB * vertex_buffer =nullptr;
vulkan::VertexAttribBuffer * tex_coord_buffer =nullptr; vulkan::VAB * tex_coord_buffer =nullptr;
vulkan::IndexBuffer * index_buffer =nullptr; vulkan::IndexBuffer * index_buffer =nullptr;
public: public:

View File

@ -64,9 +64,9 @@ namespace hgl
public: //Create public: //Create
vulkan::VertexAttribBuffer *CreateVAB(VkFormat format,uint32_t count,const void *data,VkSharingMode sharing_mode=VK_SHARING_MODE_EXCLUSIVE); vulkan::VAB *CreateVAB(VkFormat format,uint32_t count,const void *data,VkSharingMode sharing_mode=VK_SHARING_MODE_EXCLUSIVE);
vulkan::VertexAttribBuffer *CreateVAB(VkFormat format,uint32_t count,VkSharingMode sharing_mode=VK_SHARING_MODE_EXCLUSIVE){return CreateVAB(format,count,nullptr,sharing_mode);} vulkan::VAB *CreateVAB(VkFormat format,uint32_t count,VkSharingMode sharing_mode=VK_SHARING_MODE_EXCLUSIVE){return CreateVAB(format,count,nullptr,sharing_mode);}
vulkan::VertexAttribBuffer *CreateVAB(const VertexAttribData *vad,VkSharingMode sharing_mode=VK_SHARING_MODE_EXCLUSIVE){return CreateVAB(vad->GetVulkanFormat(),vad->GetCount(),vad->GetData(),sharing_mode);} vulkan::VAB *CreateVAB(const VAD *vad,VkSharingMode sharing_mode=VK_SHARING_MODE_EXCLUSIVE){return CreateVAB(vad->GetVulkanFormat(),vad->GetCount(),vad->GetData(),sharing_mode);}
#define SCENE_DB_CREATE_FUNC(name) vulkan::Buffer *Create##name(VkDeviceSize size,void *data,VkSharingMode sharing_mode=VK_SHARING_MODE_EXCLUSIVE); \ #define SCENE_DB_CREATE_FUNC(name) vulkan::Buffer *Create##name(VkDeviceSize size,void *data,VkSharingMode sharing_mode=VK_SHARING_MODE_EXCLUSIVE); \
vulkan::Buffer *Create##name(VkDeviceSize size,VkSharingMode sharing_mode=VK_SHARING_MODE_EXCLUSIVE); vulkan::Buffer *Create##name(VkDeviceSize size,VkSharingMode sharing_mode=VK_SHARING_MODE_EXCLUSIVE);

View File

@ -52,7 +52,8 @@ namespace hgl
* @param vecsize vec数量 * @param vecsize vec数量
* @param vertex_count * @param vertex_count
*/ */
VertexAttribData *CreateVertexAttribData(const vulkan::BaseType base_type,const uint32_t vecsize,const uint32_t vertex_count); VAD *CreateVertexAttribData(const vulkan::BaseType base_type,const uint32_t vecsize,const uint32_t vertex_count);
//这个函数比较重要就不搞成CreateVAD的简写了
}//namespace graph }//namespace graph
}//namespace hgl }//namespace hgl
#endif//HGL_GRAPH_VERTEX_ATTRIB_DATA_INCLUDE #endif//HGL_GRAPH_VERTEX_ATTRIB_DATA_INCLUDE

View File

@ -130,7 +130,7 @@ namespace hgl
static VkFormat GetVulkanFormat(){return VKFMT;} static VkFormat GetVulkanFormat(){return VKFMT;}
static VertexAttribDataAccess1<T,VKFMT> * Create(VertexAttribData *vad) static VertexAttribDataAccess1<T,VKFMT> * Create(VAD *vad)
{ {
if(!vad)return(nullptr); if(!vad)return(nullptr);
@ -223,7 +223,7 @@ namespace hgl
static VkFormat GetVulkanFormat(){return VKFMT;} static VkFormat GetVulkanFormat(){return VKFMT;}
static VertexAttribDataAccess2<T,VKFMT> * Create(VertexAttribData *vad) static VertexAttribDataAccess2<T,VKFMT> * Create(VAD *vad)
{ {
if(!vad)return(nullptr); if(!vad)return(nullptr);
@ -522,7 +522,7 @@ namespace hgl
static VkFormat GetVulkanFormat(){return VKFMT;} static VkFormat GetVulkanFormat(){return VKFMT;}
static VertexAttribDataAccess3<T,VKFMT> * Create(VertexAttribData *vad) static VertexAttribDataAccess3<T,VKFMT> * Create(VAD *vad)
{ {
if(!vad)return(nullptr); if(!vad)return(nullptr);
@ -794,7 +794,7 @@ namespace hgl
static VkFormat GetVulkanFormat(){return VKFMT;} static VkFormat GetVulkanFormat(){return VKFMT;}
static VertexAttribDataAccess4<T,VKFMT> * Create(VertexAttribData *vad) static VertexAttribDataAccess4<T,VKFMT> * Create(VAD *vad)
{ {
if(!vad)return(nullptr); if(!vad)return(nullptr);

View File

@ -6,9 +6,26 @@ namespace hgl
{ {
namespace graph namespace graph
{ {
/**
*
*/
class TextRenderable:public vulkan::Renderable class TextRenderable:public vulkan::Renderable
{ {
};// vulkan::Renderable * render_obj;
uint32 max_count; ///<缓冲区最大容量
uint32 cur_count; ///<当前容量
vulkan::VertexAttribBuffer *vertex_buffer;
vulkan::VertexAttribBuffer *tex_coord_buffer;
public:
TextRenderable();
virtual ~TextRenderable();
};//class TextRenderable:public vulkan::Renderable
}//namespace graph }//namespace graph
}//namespace hgl }//namespace hgl
#endif//HGL_GRAPH_TEXT_RENDERABLE_INCLUDE #endif//HGL_GRAPH_TEXT_RENDERABLE_INCLUDE

View File

@ -36,7 +36,10 @@ class Sampler;
class Memory; class Memory;
class Buffer; class Buffer;
struct BufferData; struct BufferData;
class VertexAttribBuffer; class VertexAttribBuffer;
using VAB=VertexAttribBuffer;
class IndexBuffer; class IndexBuffer;
class CommandBuffer; class CommandBuffer;

View File

@ -82,27 +82,28 @@ public:
public: //内存相关 public: //内存相关
Memory *CreateMemory(const VkMemoryRequirements &,const uint32_t properties); Memory *CreateMemory(const VkMemoryRequirements &,const uint32_t properties);
Memory *CreateMemory(VkImage,const uint32 flag=VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT);
private: //Buffer相关 private: //Buffer相关
bool CreateBuffer(BufferData *buf,VkBufferUsageFlags buf_usage,VkDeviceSize size,const void *data,VkSharingMode sharing_mode); bool CreateBuffer(BufferData *buf,VkBufferUsageFlags buf_usage,VkDeviceSize size,const void *data,VkSharingMode sharing_mode);
public: //Buffer相关 public: //Buffer相关
Buffer * CreateBuffer(VkBufferUsageFlags buf_usage,VkDeviceSize size,const void *data,VkSharingMode sharing_mode=VK_SHARING_MODE_EXCLUSIVE); Buffer * CreateBuffer(VkBufferUsageFlags buf_usage,VkDeviceSize size,const void *data, VkSharingMode sharing_mode=VK_SHARING_MODE_EXCLUSIVE);
Buffer * CreateBuffer(VkBufferUsageFlags buf_usage,VkDeviceSize size,VkSharingMode sharing_mode=VK_SHARING_MODE_EXCLUSIVE){return CreateBuffer(buf_usage,size,nullptr,sharing_mode);} Buffer * CreateBuffer(VkBufferUsageFlags buf_usage,VkDeviceSize size, VkSharingMode sharing_mode=VK_SHARING_MODE_EXCLUSIVE){return CreateBuffer(buf_usage,size,nullptr,sharing_mode);}
VertexAttribBuffer *CreateVAB(VkFormat format,uint32_t count,const void *data,VkSharingMode sharing_mode=VK_SHARING_MODE_EXCLUSIVE); VAB * CreateVAB (VkFormat format,uint32_t count,const void *data, VkSharingMode sharing_mode=VK_SHARING_MODE_EXCLUSIVE);
VertexAttribBuffer *CreateVAB(VkFormat format,uint32_t count,VkSharingMode sharing_mode=VK_SHARING_MODE_EXCLUSIVE){return CreateVAB(format,count,nullptr,sharing_mode);} VAB * CreateVAB (VkFormat format,uint32_t count, VkSharingMode sharing_mode=VK_SHARING_MODE_EXCLUSIVE){return CreateVAB(format,count,nullptr,sharing_mode);}
VertexAttribBuffer *CreateVAB(const VertexAttribData *vad,VkSharingMode sharing_mode=VK_SHARING_MODE_EXCLUSIVE){return CreateVAB(vad->GetVulkanFormat(),vad->GetCount(),vad->GetData(),sharing_mode);} VAB * CreateVAB (const VAD *vad, VkSharingMode sharing_mode=VK_SHARING_MODE_EXCLUSIVE){return CreateVAB(vad->GetVulkanFormat(),vad->GetCount(),vad->GetData(),sharing_mode);}
IndexBuffer * CreateIBO(VkIndexType index_type,uint32_t count,const void *data,VkSharingMode sharing_mode=VK_SHARING_MODE_EXCLUSIVE); IndexBuffer * CreateIBO (VkIndexType index_type,uint32_t count,const void *data,VkSharingMode sharing_mode=VK_SHARING_MODE_EXCLUSIVE);
IndexBuffer * CreateIBO16(uint32_t count,const uint16 *data,VkSharingMode sharing_mode=VK_SHARING_MODE_EXCLUSIVE){return CreateIBO(VK_INDEX_TYPE_UINT16,count,(void *)data,sharing_mode);} IndexBuffer * CreateIBO16 ( uint32_t count,const uint16 *data,VkSharingMode sharing_mode=VK_SHARING_MODE_EXCLUSIVE){return CreateIBO(VK_INDEX_TYPE_UINT16,count,(void *)data,sharing_mode);}
IndexBuffer * CreateIBO32(uint32_t count,const uint32 *data,VkSharingMode sharing_mode=VK_SHARING_MODE_EXCLUSIVE){return CreateIBO(VK_INDEX_TYPE_UINT32,count,(void *)data,sharing_mode);} IndexBuffer * CreateIBO32 ( uint32_t count,const uint32 *data,VkSharingMode sharing_mode=VK_SHARING_MODE_EXCLUSIVE){return CreateIBO(VK_INDEX_TYPE_UINT32,count,(void *)data,sharing_mode);}
IndexBuffer * CreateIBO(VkIndexType index_type,uint32_t count,VkSharingMode sharing_mode=VK_SHARING_MODE_EXCLUSIVE){return CreateIBO(index_type,count,nullptr,sharing_mode);} IndexBuffer * CreateIBO (VkIndexType index_type,uint32_t count,VkSharingMode sharing_mode=VK_SHARING_MODE_EXCLUSIVE){return CreateIBO(index_type,count,nullptr,sharing_mode);}
IndexBuffer * CreateIBO16(uint32_t count,VkSharingMode sharing_mode=VK_SHARING_MODE_EXCLUSIVE){return CreateIBO(VK_INDEX_TYPE_UINT16,count,nullptr,sharing_mode);} IndexBuffer * CreateIBO16 ( uint32_t count,VkSharingMode sharing_mode=VK_SHARING_MODE_EXCLUSIVE){return CreateIBO(VK_INDEX_TYPE_UINT16,count,nullptr,sharing_mode);}
IndexBuffer * CreateIBO32(uint32_t count,VkSharingMode sharing_mode=VK_SHARING_MODE_EXCLUSIVE){return CreateIBO(VK_INDEX_TYPE_UINT32,count,nullptr,sharing_mode);} IndexBuffer * CreateIBO32 ( uint32_t count,VkSharingMode sharing_mode=VK_SHARING_MODE_EXCLUSIVE){return CreateIBO(VK_INDEX_TYPE_UINT32,count,nullptr,sharing_mode);}
#define CREATE_BUFFER_OBJECT(LargeName,type) Buffer *Create##LargeName(VkDeviceSize size,void *data,VkSharingMode sharing_mode=VK_SHARING_MODE_EXCLUSIVE){return CreateBuffer(VK_BUFFER_USAGE_##type##_BUFFER_BIT,size,data,sharing_mode);} \ #define CREATE_BUFFER_OBJECT(LargeName,type) Buffer *Create##LargeName(VkDeviceSize size,void *data,VkSharingMode sharing_mode=VK_SHARING_MODE_EXCLUSIVE){return CreateBuffer(VK_BUFFER_USAGE_##type##_BUFFER_BIT,size,data,sharing_mode);} \
Buffer *Create##LargeName(VkDeviceSize size,VkSharingMode sharing_mode=VK_SHARING_MODE_EXCLUSIVE){return CreateBuffer(VK_BUFFER_USAGE_##type##_BUFFER_BIT,size,nullptr,sharing_mode);} Buffer *Create##LargeName(VkDeviceSize size,VkSharingMode sharing_mode=VK_SHARING_MODE_EXCLUSIVE){return CreateBuffer(VK_BUFFER_USAGE_##type##_BUFFER_BIT,size,nullptr,sharing_mode);}
@ -115,16 +116,15 @@ public: //Buffer相关
public: //Image public: //Image
VkImage CreateImage1D (const VkFormat format,const uint32_t width,const uint usage,const VkImageTiling tiling); VkImage CreateImage1D (const VkFormat format,const uint32_t width, const uint usage,const VkImageTiling tiling);
VkImage CreateImage1DArray (const VkFormat format,const uint32_t width,const uint32_t layer,const uint usage,const VkImageTiling tiling); VkImage CreateImage1DArray (const VkFormat format,const uint32_t width,const uint32_t layer, const uint usage,const VkImageTiling tiling);
VkImage CreateImage2D (const VkFormat format,const uint32_t width,const uint32_t height,const uint usage,const VkImageTiling tiling); VkImage CreateImage2D (const VkFormat format,const uint32_t width,const uint32_t height, const uint usage,const VkImageTiling tiling);
VkImage CreateImage2DArray (const VkFormat format,const uint32_t width,const uint32_t height,const uint32_t layer,const uint usage,const VkImageTiling tiling); VkImage CreateImage2DArray (const VkFormat format,const uint32_t width,const uint32_t height,const uint32_t layer, const uint usage,const VkImageTiling tiling);
VkImage CreateImage3D (const VkFormat format,const uint32_t width,const uint32_t height,const uint32_t depth,const uint usage,const VkImageTiling tiling); VkImage CreateImage3D (const VkFormat format,const uint32_t width,const uint32_t height,const uint32_t depth, const uint usage,const VkImageTiling tiling);
VkImage CreateImageCubemap (const VkFormat format,const uint32_t width,const uint32_t height,const uint usage,const VkImageTiling tiling); VkImage CreateCubemap (const VkFormat format,const uint32_t width,const uint32_t height, const uint usage,const VkImageTiling tiling);
// VkImage CreateCubemapArray (const VkFormat format,const uint32_t width,const uint32_t height,const uint32_t count, const uint usage,const VkImageTiling tiling);
void DestoryImage(VkImage); void DestoryImage (VkImage);
Memory *CreateMemory(VkImage,const uint32 flag=VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT);
public: //Texture public: //Texture

View File

@ -47,8 +47,8 @@ public:
void SetBoundingBox(const AABB &aabb){BoundingBox=aabb;} void SetBoundingBox(const AABB &aabb){BoundingBox=aabb;}
const AABB &GetBoundingBox()const {return BoundingBox;} const AABB &GetBoundingBox()const {return BoundingBox;}
bool Set(const int stage_input_binding, VertexAttribBuffer *vb,VkDeviceSize offset=0); bool Set(const int stage_input_binding, VAB *vb,VkDeviceSize offset=0);
bool Set(const AnsiString &name, VertexAttribBuffer *vb,VkDeviceSize offset=0); bool Set(const AnsiString &name, VAB *vb,VkDeviceSize offset=0);
bool Set(IndexBuffer *ib,VkDeviceSize offset=0) bool Set(IndexBuffer *ib,VkDeviceSize offset=0)
{ {

View File

@ -44,7 +44,7 @@ bool Device::CreateBuffer(BufferData *buf,VkBufferUsageFlags buf_usage,VkDeviceS
return(false); return(false);
} }
VertexAttribBuffer *Device::CreateVAB(VkFormat format,uint32_t count,const void *data,VkSharingMode sharing_mode) VAB *Device::CreateVAB(VkFormat format,uint32_t count,const void *data,VkSharingMode sharing_mode)
{ {
const uint32_t stride=GetStrideByFormat(format); const uint32_t stride=GetStrideByFormat(format);

View File

@ -183,7 +183,7 @@ VkImage Device::CreateImage3D(const VkFormat format,const uint32_t width,const u
return image; return image;
} }
VkImage Device::CreateImageCubemap(const VkFormat format,const uint32_t width,const uint32_t height,const uint usage,const VkImageTiling tiling) VkImage Device::CreateCubemap(const VkFormat format,const uint32_t width,const uint32_t height,const uint usage,const VkImageTiling tiling)
{ {
if(!CheckVulkanFormat(format))return(nullptr); if(!CheckVulkanFormat(format))return(nullptr);
if(width<1||height<1)return(nullptr); if(width<1||height<1)return(nullptr);

View File

@ -20,7 +20,7 @@ Renderable::~Renderable()
delete[] buf_list; delete[] buf_list;
} }
bool Renderable::Set(const int stage_input_binding,VertexAttribBuffer *vab,VkDeviceSize offset) bool Renderable::Set(const int stage_input_binding,VAB *vab,VkDeviceSize offset)
{ {
if(stage_input_binding<0||stage_input_binding>=buf_count||!vab)return(false); if(stage_input_binding<0||stage_input_binding>=buf_count||!vab)return(false);
@ -38,7 +38,7 @@ bool Renderable::Set(const int stage_input_binding,VertexAttribBuffer *vab,VkDev
return(true); return(true);
} }
bool Renderable::Set(const AnsiString &name,VertexAttribBuffer *vab,VkDeviceSize offset) bool Renderable::Set(const AnsiString &name,VAB *vab,VkDeviceSize offset)
{ {
return Set(vertex_sm->GetStageInputBinding(name),vab,offset); return Set(vertex_sm->GetStageInputBinding(name),vab,offset);
} }

View File

@ -8,7 +8,7 @@ namespace
void AnalyseSize(uint &fw,uint &fh,const uint w,const uint h,const uint count,const uint32_t max_texture_size) void AnalyseSize(uint &fw,uint &fh,const uint w,const uint h,const uint count,const uint32_t max_texture_size)
{ {
int total,tw,th,t; uint total,tw,th,t;
fw=fh=0; fw=fh=0;

View File

@ -46,7 +46,7 @@ namespace hgl
return ssb->data; return ssb->data;
} }
VertexAttribData *RenderableCreater::CreateVAD(const AnsiString &name) VAD *RenderableCreater::CreateVAD(const AnsiString &name)
{ {
if(!vsm)return(nullptr); if(!vsm)return(nullptr);
if(name.IsEmpty())return(nullptr); if(name.IsEmpty())return(nullptr);

View File

@ -6,9 +6,9 @@ namespace hgl
{ {
namespace graph namespace graph
{ {
vulkan::VertexAttribBuffer *SceneDB::CreateVAB(VkFormat format,uint32_t count,const void *data,VkSharingMode sharing_mode) vulkan::VAB *SceneDB::CreateVAB(VkFormat format,uint32_t count,const void *data,VkSharingMode sharing_mode)
{ {
vulkan::VertexAttribBuffer *vb=device->CreateVAB(format,count,data,sharing_mode); vulkan::VAB *vb=device->CreateVAB(format,count,data,sharing_mode);
if(!vb) if(!vb)
return(nullptr); return(nullptr);

View File

@ -4,7 +4,7 @@ namespace hgl
{ {
namespace graph namespace graph
{ {
VertexAttribData *CreateVertexAttribData(const vulkan::BaseType base_type,const uint32_t vecsize,const uint32_t vertex_count) VAD *CreateVertexAttribData(const vulkan::BaseType base_type,const uint32_t vecsize,const uint32_t vertex_count)
{ {
VkFormat fmt; VkFormat fmt;
uint32_t stride; uint32_t stride;