rename,use CreateVAB instead CreateVBO
This commit is contained in:
parent
b041fb5c14
commit
01a32148bf
@ -1 +1 @@
|
|||||||
Subproject commit c041a934174d21e75a37d1315abcd8f89503f5e6
|
Subproject commit f5117f0a84958defd11c337e512bd0a32bc9efca
|
@ -82,8 +82,8 @@ private:
|
|||||||
|
|
||||||
void InitVBO()
|
void InitVBO()
|
||||||
{
|
{
|
||||||
vertex_buffer =db->CreateVBO(FMT_RGBA32F,VERTEX_COUNT,vertex_data);
|
vertex_buffer =db->CreateVAB(FMT_RGBA32F,VERTEX_COUNT,vertex_data);
|
||||||
tex_coord_buffer=db->CreateVBO(FMT_RGBA32F,VERTEX_COUNT,tex_coord_data);
|
tex_coord_buffer=db->CreateVAB(FMT_RGBA32F,VERTEX_COUNT,tex_coord_data);
|
||||||
|
|
||||||
render_obj->Set("Vertex",vertex_buffer);
|
render_obj->Set("Vertex",vertex_buffer);
|
||||||
render_obj->Set("TexCoord",tex_coord_buffer);
|
render_obj->Set("TexCoord",tex_coord_buffer);
|
||||||
|
@ -87,7 +87,7 @@ private:
|
|||||||
|
|
||||||
void InitVBO()
|
void InitVBO()
|
||||||
{
|
{
|
||||||
vertex_buffer =device->CreateVBO(FMT_RG32F, VERTEX_COUNT,vertex_data);
|
vertex_buffer =device->CreateVAB(FMT_RG32F, VERTEX_COUNT,vertex_data);
|
||||||
|
|
||||||
render_obj->Set("Vertex", vertex_buffer);
|
render_obj->Set("Vertex", vertex_buffer);
|
||||||
}
|
}
|
||||||
|
@ -91,10 +91,10 @@ private:
|
|||||||
|
|
||||||
bool InitVBO()
|
bool InitVBO()
|
||||||
{
|
{
|
||||||
vertex_buffer =device->CreateVBO(FMT_RG32F,VERTEX_COUNT,vertex_data);
|
vertex_buffer =device->CreateVAB(FMT_RG32F,VERTEX_COUNT,vertex_data);
|
||||||
if(!vertex_buffer)return(false);
|
if(!vertex_buffer)return(false);
|
||||||
|
|
||||||
tex_coord_buffer=device->CreateVBO(FMT_RG32F,VERTEX_COUNT,tex_coord_data);
|
tex_coord_buffer=device->CreateVAB(FMT_RG32F,VERTEX_COUNT,tex_coord_data);
|
||||||
if(!tex_coord_buffer)return(false);
|
if(!tex_coord_buffer)return(false);
|
||||||
|
|
||||||
index_buffer =device->CreateIBO16(INDEX_COUNT,index_data);
|
index_buffer =device->CreateIBO16(INDEX_COUNT,index_data);
|
||||||
|
@ -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->CreateVBO(FMT_RGB32F,mesh->vertex_count,mesh->position);
|
vulkan::VertexAttribBuffer *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->CreateVBO(FMT_RGB32F,mesh->vertex_count,mesh->normal);
|
vulkan::VertexAttribBuffer *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->CreateVBO(FMT_RGB32F,mesh->vertex_count,mesh->tangent);
|
vulkan::VertexAttribBuffer *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->CreateVBO(FMT_RGB32F,mesh->vertex_count,mesh->bitangent);
|
vulkan::VertexAttribBuffer *vbo=db->CreateVAB(FMT_RGB32F,mesh->vertex_count,mesh->bitangent);
|
||||||
|
|
||||||
render_obj->Set(bitagent_binding,vbo);
|
render_obj->Set(bitagent_binding,vbo);
|
||||||
}
|
}
|
||||||
|
@ -95,8 +95,8 @@ private:
|
|||||||
|
|
||||||
void InitVBO()
|
void InitVBO()
|
||||||
{
|
{
|
||||||
vertex_buffer =db->CreateVBO(FMT_RGBA32F,VERTEX_COUNT,vertex_data);
|
vertex_buffer =db->CreateVAB(FMT_RGBA32F,VERTEX_COUNT,vertex_data);
|
||||||
tex_coord_buffer=db->CreateVBO(FMT_RGBA32F,VERTEX_COUNT,tex_coord_data);
|
tex_coord_buffer=db->CreateVAB(FMT_RGBA32F,VERTEX_COUNT,tex_coord_data);
|
||||||
|
|
||||||
render_obj->Set("Vertex",vertex_buffer);
|
render_obj->Set("Vertex",vertex_buffer);
|
||||||
render_obj->Set("TexCoord",tex_coord_buffer);
|
render_obj->Set("TexCoord",tex_coord_buffer);
|
||||||
|
@ -56,7 +56,7 @@ vulkan::Instance *InitVulkanInstance()
|
|||||||
cili.lunarg.standard_validation=true;
|
cili.lunarg.standard_validation=true;
|
||||||
cili.khronos.validation=true;
|
cili.khronos.validation=true;
|
||||||
|
|
||||||
return vulkan::CreateInstance(U8_TEXT("VulkanTest"),nullptr,&cili);
|
return vulkan::CreateInstance("VulkanTest",nullptr,&cili);
|
||||||
}
|
}
|
||||||
|
|
||||||
int main(int,char **)
|
int main(int,char **)
|
||||||
|
@ -93,8 +93,8 @@ private:
|
|||||||
|
|
||||||
bool InitVBO()
|
bool InitVBO()
|
||||||
{
|
{
|
||||||
vertex_buffer =device->CreateVBO(FMT_RG32F, VERTEX_COUNT,vertex_data);
|
vertex_buffer =device->CreateVAB(FMT_RG32F, VERTEX_COUNT,vertex_data);
|
||||||
color_buffer =device->CreateVBO(FMT_RGB32F, VERTEX_COUNT,color_data);
|
color_buffer =device->CreateVAB(FMT_RGB32F, VERTEX_COUNT,color_data);
|
||||||
|
|
||||||
if(!render_obj->Set("Vertex", vertex_buffer))return(false);
|
if(!render_obj->Set("Vertex", vertex_buffer))return(false);
|
||||||
if(!render_obj->Set("Color", color_buffer))return(false);
|
if(!render_obj->Set("Color", color_buffer))return(false);
|
||||||
|
@ -24,7 +24,7 @@ constexpr float vertex_data[VERTEX_COUNT][2]=
|
|||||||
{SCREEN_WIDTH*SSP, SCREEN_HEIGHT*SSN},
|
{SCREEN_WIDTH*SSP, SCREEN_HEIGHT*SSN},
|
||||||
{SCREEN_WIDTH*SSN, SCREEN_HEIGHT*SSN}
|
{SCREEN_WIDTH*SSN, SCREEN_HEIGHT*SSN}
|
||||||
};
|
};
|
||||||
|
|
||||||
constexpr uint32_t INDEX_COUNT=6;
|
constexpr uint32_t INDEX_COUNT=6;
|
||||||
|
|
||||||
constexpr uint16 index_data[INDEX_COUNT]=
|
constexpr uint16 index_data[INDEX_COUNT]=
|
||||||
@ -69,7 +69,7 @@ private:
|
|||||||
bool InitMaterial()
|
bool InitMaterial()
|
||||||
{
|
{
|
||||||
material=shader_manage->CreateMaterial(OS_TEXT("res/shader/OnlyPosition.vert"),
|
material=shader_manage->CreateMaterial(OS_TEXT("res/shader/OnlyPosition.vert"),
|
||||||
OS_TEXT("res/shader/XorColor.frag"));
|
OS_TEXT("res/shader/HexGrid.frag"));
|
||||||
if(!material)
|
if(!material)
|
||||||
return(false);
|
return(false);
|
||||||
|
|
||||||
@ -99,7 +99,7 @@ private:
|
|||||||
|
|
||||||
void InitVBO()
|
void InitVBO()
|
||||||
{
|
{
|
||||||
vertex_buffer =device->CreateVBO(FMT_RG32F,VERTEX_COUNT,vertex_data);
|
vertex_buffer =device->CreateVAB(FMT_RG32F,VERTEX_COUNT,vertex_data);
|
||||||
index_buffer =device->CreateIBO16(INDEX_COUNT,index_data);
|
index_buffer =device->CreateIBO16(INDEX_COUNT,index_data);
|
||||||
|
|
||||||
render_obj->Set("Vertex",vertex_buffer);
|
render_obj->Set("Vertex",vertex_buffer);
|
||||||
|
@ -119,8 +119,8 @@ private:
|
|||||||
|
|
||||||
void InitVBO()
|
void InitVBO()
|
||||||
{
|
{
|
||||||
vertex_buffer =device->CreateVBO(FMT_RG32F,VERTEX_COUNT,vertex_data);
|
vertex_buffer =device->CreateVAB(FMT_RG32F,VERTEX_COUNT,vertex_data);
|
||||||
tex_coord_buffer=device->CreateVBO(FMT_RG32F,VERTEX_COUNT,tex_coord_data);
|
tex_coord_buffer=device->CreateVAB(FMT_RG32F,VERTEX_COUNT,tex_coord_data);
|
||||||
index_buffer =device->CreateIBO16(INDEX_COUNT,index_data);
|
index_buffer =device->CreateIBO16(INDEX_COUNT,index_data);
|
||||||
|
|
||||||
render_obj->Set("Vertex",vertex_buffer);
|
render_obj->Set("Vertex",vertex_buffer);
|
||||||
|
@ -64,9 +64,9 @@ namespace hgl
|
|||||||
|
|
||||||
public: //Create
|
public: //Create
|
||||||
|
|
||||||
vulkan::VertexAttribBuffer *CreateVBO(VkFormat format,uint32_t count,const void *data,VkSharingMode sharing_mode=VK_SHARING_MODE_EXCLUSIVE);
|
vulkan::VertexAttribBuffer *CreateVAB(VkFormat format,uint32_t count,const void *data,VkSharingMode sharing_mode=VK_SHARING_MODE_EXCLUSIVE);
|
||||||
vulkan::VertexAttribBuffer *CreateVBO(VkFormat format,uint32_t count,VkSharingMode sharing_mode=VK_SHARING_MODE_EXCLUSIVE){return CreateVBO(format,count,nullptr,sharing_mode);}
|
vulkan::VertexAttribBuffer *CreateVAB(VkFormat format,uint32_t count,VkSharingMode sharing_mode=VK_SHARING_MODE_EXCLUSIVE){return CreateVAB(format,count,nullptr,sharing_mode);}
|
||||||
vulkan::VertexAttribBuffer *CreateVBO(const VertexAttribBufferCreater *vbc,VkSharingMode sharing_mode=VK_SHARING_MODE_EXCLUSIVE){return CreateVBO(vbc->GetDataType(),vbc->GetCount(),vbc->GetData(),sharing_mode);}
|
vulkan::VertexAttribBuffer *CreateVAB(const VertexAttribBufferCreater *vbc,VkSharingMode sharing_mode=VK_SHARING_MODE_EXCLUSIVE){return CreateVAB(vbc->GetDataType(),vbc->GetCount(),vbc->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);
|
||||||
|
@ -9,7 +9,7 @@ struct BufferData
|
|||||||
VkBuffer buffer;
|
VkBuffer buffer;
|
||||||
Memory * memory=nullptr;
|
Memory * memory=nullptr;
|
||||||
VkDescriptorBufferInfo info;
|
VkDescriptorBufferInfo info;
|
||||||
};//struct VulkanBuffer
|
};//struct BufferData
|
||||||
|
|
||||||
class Buffer
|
class Buffer
|
||||||
{
|
{
|
||||||
|
@ -87,9 +87,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 * CreateVBO(VkFormat format,uint32_t count,const void *data,VkSharingMode sharing_mode=VK_SHARING_MODE_EXCLUSIVE);
|
VertexAttribBuffer * CreateVAB(VkFormat format,uint32_t count,const void *data,VkSharingMode sharing_mode=VK_SHARING_MODE_EXCLUSIVE);
|
||||||
VertexAttribBuffer * CreateVBO(VkFormat format,uint32_t count,VkSharingMode sharing_mode=VK_SHARING_MODE_EXCLUSIVE){return CreateVBO(format,count,nullptr,sharing_mode);}
|
VertexAttribBuffer * CreateVAB(VkFormat format,uint32_t count,VkSharingMode sharing_mode=VK_SHARING_MODE_EXCLUSIVE){return CreateVAB(format,count,nullptr,sharing_mode);}
|
||||||
VertexAttribBuffer * CreateVBO(const VertexAttribBufferCreater *vbc,VkSharingMode sharing_mode=VK_SHARING_MODE_EXCLUSIVE){return CreateVBO(vbc->GetDataType(),vbc->GetCount(),vbc->GetData(),sharing_mode);}
|
VertexAttribBuffer * CreateVAB(const VertexAttribBufferCreater *vbc,VkSharingMode sharing_mode=VK_SHARING_MODE_EXCLUSIVE){return CreateVAB(vbc->GetDataType(),vbc->GetCount(),vbc->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);}
|
||||||
|
@ -44,7 +44,7 @@ bool Device::CreateBuffer(BufferData *buf,VkBufferUsageFlags buf_usage,VkDeviceS
|
|||||||
return(false);
|
return(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
VertexAttribBuffer *Device::CreateVBO(VkFormat format,uint32_t count,const void *data,VkSharingMode sharing_mode)
|
VertexAttribBuffer *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);
|
||||||
|
|
||||||
|
@ -105,7 +105,7 @@ namespace hgl
|
|||||||
|
|
||||||
void Finish(int binding,VertexAttribBufferCreater *vb)
|
void Finish(int binding,VertexAttribBufferCreater *vb)
|
||||||
{
|
{
|
||||||
render_obj->Set(binding,db->CreateVBO(vb));
|
render_obj->Set(binding,db->CreateVAB(vb));
|
||||||
delete vb;
|
delete vb;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6,9 +6,9 @@ namespace hgl
|
|||||||
{
|
{
|
||||||
namespace graph
|
namespace graph
|
||||||
{
|
{
|
||||||
vulkan::VertexAttribBuffer *SceneDB::CreateVBO(VkFormat format,uint32_t count,const void *data,VkSharingMode sharing_mode)
|
vulkan::VertexAttribBuffer *SceneDB::CreateVAB(VkFormat format,uint32_t count,const void *data,VkSharingMode sharing_mode)
|
||||||
{
|
{
|
||||||
vulkan::VertexAttribBuffer *vb=device->CreateVBO(format,count,data,sharing_mode);
|
vulkan::VertexAttribBuffer *vb=device->CreateVAB(format,count,data,sharing_mode);
|
||||||
|
|
||||||
if(!vb)
|
if(!vb)
|
||||||
return(nullptr);
|
return(nullptr);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user