added debug name.

This commit is contained in:
2023-10-12 05:55:39 +08:00
parent 317635877b
commit 8ba171efda
16 changed files with 176 additions and 46 deletions

View File

@@ -78,7 +78,7 @@ namespace hgl
uint16 * CreateIBO16(uint count,const uint16 *data=nullptr); ///<创建16位的索引缓冲区
uint32 * CreateIBO32(uint count,const uint32 *data=nullptr); ///<创建32位的索引缓冲区
virtual Primitive * Finish(); ///<结束并创建可渲染对象
virtual Primitive * Finish(const AnsiString &); ///<结束并创建可渲染对象
};//class PrimitiveCreater
}//namespace graph
}//namespace hgl

View File

@@ -9,6 +9,9 @@ VK_NAMESPACE_BEGIN
class Pipeline
{
VkDevice device;
AnsiString name;
VkPipeline pipeline;
PipelineData *data;
@@ -19,8 +22,10 @@ private:
friend class RenderPass;
Pipeline(VkDevice dev,VkPipeline p,PipelineData *pd)
Pipeline(const AnsiString &n,VkDevice dev,VkPipeline p,PipelineData *pd)
{
name=n;
device=dev;
pipeline=p;
data=pd;
@@ -33,6 +38,8 @@ public:
virtual ~Pipeline();
const AnsiString &GetName()const{return name;}
operator VkPipeline(){return pipeline;}
const PipelineData *GetData()const{return data;}

View File

@@ -12,6 +12,9 @@ VK_NAMESPACE_BEGIN
*/
class Primitive
{
GPUDevice *device;
AnsiString prim_name;
struct VBOData
{
VBO *buf;
@@ -45,7 +48,13 @@ protected:
public:
Primitive(const uint32_t vc=0):vertex_count(vc){}
Primitive(GPUDevice *dev,const AnsiString &n,const uint32_t vc=0)
{
device=dev;
prim_name=n;
vertex_count=vc;
}
virtual ~Primitive()=default;
const uint GetRefCount()const{return ref_count;}
@@ -55,14 +64,7 @@ public:
bool Set(const AnsiString &name,VBO *vb,VkDeviceSize offset=0);
bool Set(IndexBuffer *ib,VkDeviceSize offset=0)
{
if(!ib)return(false);
index_buffer_data.buffer=ib;
index_buffer_data.offset=offset;
return(true);
}
bool Set(IndexBuffer *ib,VkDeviceSize offset=0);
public:

View File

@@ -25,7 +25,7 @@ protected:
ObjectList<Pipeline> pipeline_list;
Pipeline *CreatePipeline(PipelineData *,const ShaderStageCreateInfoList &,VkPipelineLayout,const VIL *);
Pipeline *CreatePipeline(const AnsiString &,PipelineData *,const ShaderStageCreateInfoList &,VkPipelineLayout,const VIL *);
private:

View File

@@ -123,7 +123,7 @@ public: //Material
MaterialInstance * CreateMaterialInstance(const mtl::MaterialCreateInfo *,const VILConfig *vil_cfg=nullptr);
Primitive * CreatePrimitive(const uint32_t vertex_count=0);
Primitive * CreatePrimitive(const AnsiString &,const uint32_t vertex_count=0);
Renderable * CreateRenderable(Primitive *r,MaterialInstance *mi,Pipeline *p);
@@ -135,7 +135,7 @@ public: //texture
Texture2D * LoadTexture2D(const OSString &,bool auto_mipmaps=false);
TextureCube * LoadTextureCube(const OSString &,bool auto_mipmaps=false);
Texture2DArray * CreateTexture2DArray(const uint32_t width,const uint32_t height,const uint32_t layer,const VkFormat &fmt,bool auto_mipmaps=false);
Texture2DArray * CreateTexture2DArray(const AnsiString &name,const uint32_t width,const uint32_t height,const uint32_t layer,const VkFormat &fmt,bool auto_mipmaps=false);
bool LoadTexture2DToArray(Texture2DArray *,const uint32_t layer,const OSString &);
public: //Get

View File

@@ -14,12 +14,12 @@ class RenderablePrimitiveCreater
public:
RenderablePrimitiveCreater(RenderResource *_rr,uint32_t vc)
RenderablePrimitiveCreater(RenderResource *_rr,const AnsiString &name,uint32_t vc)
{
rr=_rr;
vertex_count=vc;
prim=rr->CreatePrimitive(vertex_count);
prim=rr->CreatePrimitive(name,vertex_count);
}
VBO *SetVBO(const AnsiString &name,const VkFormat &fmt,const void *buf)