renamed to Primitive from Renderable
This commit is contained in:
@@ -123,7 +123,7 @@ bool RenderCmdBuffer::BindDescriptorSets(RenderableInstance *ri)
|
||||
ds[count]=mp->GetVkDescriptorSet();
|
||||
++count;
|
||||
|
||||
if((DescriptorSetsType)i==DescriptorSetsType::Renderable)
|
||||
if((DescriptorSetsType)i==DescriptorSetsType::Primitive)
|
||||
{
|
||||
dynamic_count=mp->GetCount();
|
||||
|
||||
|
@@ -30,8 +30,9 @@ namespace
|
||||
#ifdef _DEBUG
|
||||
VK_EXT_DEBUG_MARKER_EXTENSION_NAME,
|
||||
#endif//_DEBUG
|
||||
VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME,
|
||||
// VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME,
|
||||
VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME,
|
||||
VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME,
|
||||
// VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME,
|
||||
// VK_EXT_HDR_METADATA_EXTENSION_NAME,
|
||||
// VK_EXT_FULL_SCREEN_EXCLUSIVE_EXTENSION_NAME,
|
||||
|
@@ -109,7 +109,7 @@ Material *GPUDevice::CreateMaterial(const UTF8String &mtl_name,ShaderModuleMap *
|
||||
|
||||
data->pipeline_layout_data=pld;
|
||||
data->mp.m=CreateMP(mds,pld,DescriptorSetsType::Material );
|
||||
data->mp.r=CreateMP(mds,pld,DescriptorSetsType::Renderable );
|
||||
data->mp.r=CreateMP(mds,pld,DescriptorSetsType::Primitive );
|
||||
data->mp.g=CreateMP(mds,pld,DescriptorSetsType::Global );
|
||||
|
||||
return(new Material(data));
|
||||
|
@@ -72,11 +72,11 @@ MaterialInstance *RenderResource::CreateMaterialInstance(const OSString &mtl_fil
|
||||
return CreateMaterialInstance(mtl,vab_cfg);
|
||||
}
|
||||
|
||||
Renderable *RenderResource::CreateRenderable(const uint32_t vertex_count)
|
||||
Primitive *RenderResource::CreatePrimitive(const uint32_t vertex_count)
|
||||
{
|
||||
if(!vertex_count)return(nullptr);
|
||||
|
||||
Renderable *ro=new Renderable(vertex_count);
|
||||
Primitive *ro=new Primitive(vertex_count);
|
||||
|
||||
if(ro)
|
||||
Add(ro);
|
||||
@@ -84,7 +84,7 @@ Renderable *RenderResource::CreateRenderable(const uint32_t vertex_count)
|
||||
return ro;
|
||||
}
|
||||
|
||||
RenderableInstance *RenderResource::CreateRenderableInstance(Renderable *r,MaterialInstance *mi,Pipeline *p)
|
||||
RenderableInstance *RenderResource::CreateRenderableInstance(Primitive *r,MaterialInstance *mi,Pipeline *p)
|
||||
{
|
||||
if(!p||!mi||!r)
|
||||
return(nullptr);
|
||||
|
@@ -49,7 +49,7 @@ void LoadShaderDescriptor(const uint8 *data,ShaderDescriptor *sd_list,const uint
|
||||
|
||||
sd->set_type=CheckDescriptorSetsType(sd->name);
|
||||
|
||||
if(sd->set_type==DescriptorSetsType::Renderable)
|
||||
if(sd->set_type==DescriptorSetsType::Primitive)
|
||||
{
|
||||
if(sd->desc_type==VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER)sd->desc_type=VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC;else
|
||||
if(sd->desc_type==VK_DESCRIPTOR_TYPE_STORAGE_BUFFER)sd->desc_type=VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC;
|
||||
|
@@ -1,63 +0,0 @@
|
||||
#include<hgl/graph/VKRenderable.h>
|
||||
#include<hgl/graph/VKBuffer.h>
|
||||
#include<hgl/graph/VKShaderModule.h>
|
||||
#include<hgl/graph/VKVertexAttribBuffer.h>
|
||||
|
||||
VK_NAMESPACE_BEGIN
|
||||
//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);
|
||||
//
|
||||
// const VkVertexInputBindingDescription *desc=vertex_sm->GetDesc(stage_input_binding);
|
||||
// const VkVertexInputAttributeDescription *attr=vertex_sm->GetAttr(stage_input_binding);
|
||||
//
|
||||
// if(vab->GetFormat()!=attr->format)return(false);
|
||||
// if(vab->GetStride()!=desc->stride)return(false);
|
||||
//
|
||||
// //format信息来自于shader,实际中可以不一样。但那样需要为每一个格式产生一个同样shader的material instance,不同的格式又需要不同的pipeline,我们不支持这种行为
|
||||
//
|
||||
// buf_list[stage_input_binding]=vab->GetBuffer();
|
||||
// buf_offset[stage_input_binding]=offset;
|
||||
//
|
||||
// return(true);
|
||||
//}
|
||||
|
||||
bool Renderable::Set(const AnsiString &name,VBO *vbo,VkDeviceSize offset)
|
||||
{
|
||||
if(!vbo)return(false);
|
||||
if(buffer_list.KeyExist(name))return(false);
|
||||
|
||||
VBOData bd;
|
||||
|
||||
bd.buf=vbo;
|
||||
bd.offset=offset;
|
||||
|
||||
buffer_list.Add(name,bd);
|
||||
return(true);
|
||||
}
|
||||
|
||||
VBO *Renderable::GetVBO(const AnsiString &name,VkDeviceSize *offset)
|
||||
{
|
||||
if(!offset)return(nullptr);
|
||||
if(name.IsEmpty())return(nullptr);
|
||||
|
||||
VBOData bd;
|
||||
|
||||
if(buffer_list.Get(name,bd))
|
||||
{
|
||||
*offset=bd.offset;
|
||||
return bd.buf;
|
||||
}
|
||||
|
||||
return(nullptr);
|
||||
}
|
||||
|
||||
VkBuffer Renderable::GetBuffer(const AnsiString &name,VkDeviceSize *offset)
|
||||
{
|
||||
VBO *vbo=GetVBO(name,offset);
|
||||
|
||||
if(vbo)return vbo->GetBuffer();
|
||||
|
||||
return(VK_NULL_HANDLE);
|
||||
}
|
||||
VK_NAMESPACE_END
|
@@ -8,7 +8,7 @@
|
||||
VK_NAMESPACE_BEGIN
|
||||
using namespace util;
|
||||
|
||||
RenderableInstance::RenderableInstance(Renderable *r,MaterialInstance *mi,Pipeline *p,const uint32_t count,VkBuffer *bl,VkDeviceSize *bs)
|
||||
RenderableInstance::RenderableInstance(Primitive *r,MaterialInstance *mi,Pipeline *p,const uint32_t count,VkBuffer *bl,VkDeviceSize *bs)
|
||||
{
|
||||
render_obj=r;
|
||||
pipeline=p;
|
||||
@@ -32,7 +32,7 @@ RenderableInstance::~RenderableInstance()
|
||||
delete[] buffer_size;
|
||||
}
|
||||
|
||||
RenderableInstance *CreateRenderableInstance(Renderable *r,MaterialInstance *mi,Pipeline *p)
|
||||
RenderableInstance *CreateRenderableInstance(Primitive *r,MaterialInstance *mi,Pipeline *p)
|
||||
{
|
||||
if(!r||!mi||!p)return(nullptr);
|
||||
|
||||
|
@@ -11,7 +11,7 @@ VK_NAMESPACE_BEGIN
|
||||
{
|
||||
if(str[0]=='m')return DescriptorSetsType::Material;
|
||||
if(str[0]=='g')return DescriptorSetsType::Global;
|
||||
if(str[0]=='r')return DescriptorSetsType::Renderable;
|
||||
if(str[0]=='r')return DescriptorSetsType::Primitive;
|
||||
}
|
||||
|
||||
return DescriptorSetsType::Value;
|
||||
|
Reference in New Issue
Block a user