use VAB instead VertexAttribBuffer.
use VAD instead VertexAttribData.
This commit is contained in:
parent
1964e5da04
commit
d26b59cb1d
2
CMCore
2
CMCore
@ -1 +1 @@
|
|||||||
Subproject commit c826b3d8e5c0cb77f10729ce81bb388313094a5e
|
Subproject commit 4c22ba5a6066bd60badb65b6ce745562664c1705
|
@ -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:
|
||||||
|
|
||||||
|
@ -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:
|
||||||
|
|
||||||
|
@ -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;
|
||||||
|
@ -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);
|
||||||
}
|
}
|
||||||
|
@ -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:
|
||||||
|
|
||||||
|
@ -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:
|
||||||
|
|
||||||
|
@ -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:
|
||||||
|
@ -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:
|
||||||
|
@ -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);
|
||||||
|
@ -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
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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;
|
||||||
|
@ -82,6 +82,7 @@ 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相关
|
||||||
|
|
||||||
@ -92,9 +93,9 @@ 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);}
|
||||||
@ -120,12 +121,11 @@ public: //Image
|
|||||||
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
|
||||||
|
|
||||||
Texture2D *CreateTexture2D(Memory *mem,VkImage image,ImageView *image_view,VkImageLayout image_layout,VkImageTiling tiling);
|
Texture2D *CreateTexture2D(Memory *mem,VkImage image,ImageView *image_view,VkImageLayout image_layout,VkImageTiling tiling);
|
||||||
|
@ -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)
|
||||||
{
|
{
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
@ -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);
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
@ -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);
|
||||||
|
@ -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;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user