renamed to Renderable from RenderableInstance, renamed to PrimitiveCreater from RenderableCreater

This commit is contained in:
HuYingzhuo(hugo/hyzboy) 2022-06-24 21:06:38 +08:00
parent 43c60c16e2
commit d8d8d97abd
46 changed files with 178 additions and 178 deletions

View File

@ -36,7 +36,7 @@ private:
Camera cam;
MaterialInstance * material_instance =nullptr;
RenderableInstance *render_instance =nullptr;
Renderable *render_instance =nullptr;
GPUBuffer * ubo_camera_info =nullptr;
GPUBuffer * ubo_color_material =nullptr;
GPUBuffer * ubo_line_config =nullptr;
@ -118,7 +118,7 @@ private:
if(!primitive->Set(VAN::Position, db->CreateVBO(VF_V2F,VERTEX_COUNT,position_data)))return(false);
render_instance=db->CreateRenderableInstance(primitive,material_instance,pipeline);
render_instance=db->CreateRenderable(primitive,material_instance,pipeline);
return(true);
}

View File

@ -36,7 +36,7 @@ private:
Camera cam;
MaterialInstance * material_instance =nullptr;
RenderableInstance *render_instance =nullptr;
Renderable *render_instance =nullptr;
GPUBuffer * ubo_camera_info =nullptr;
GPUBuffer * ubo_rb_config =nullptr;
@ -134,7 +134,7 @@ private:
if(!primitive->Set(VAN::Position, db->CreateVBO(VF_V4I16,VERTEX_COUNT,position_data)))return(false);
render_instance=db->CreateRenderableInstance(primitive,material_instance,pipeline);
render_instance=db->CreateRenderable(primitive,material_instance,pipeline);
return(true);
}

View File

@ -5,7 +5,7 @@
#include<hgl/filesystem/FileSystem.h>
#include<hgl/graph/InlineGeometry.h>
#include<hgl/graph/VKRenderResource.h>
#include<hgl/graph/VKRenderableInstance.h>
#include<hgl/graph/VKRenderable.h>
#include<hgl/graph/RenderList.h>
using namespace hgl;
@ -83,7 +83,7 @@ private:
{
ro_sphere=CreateRenderableSphere(db,material_instance->GetVAB(),128);
render_root.CreateSubNode(scale(100),db->CreateRenderableInstance(ro_sphere,material_instance,pipeline_solid));
render_root.CreateSubNode(scale(100),db->CreateRenderable(ro_sphere,material_instance,pipeline_solid));
render_root.RefreshMatrix();
render_list->Expend(GetCameraInfo(),&render_root);

View File

@ -5,7 +5,7 @@
#include<hgl/filesystem/FileSystem.h>
#include<hgl/graph/InlineGeometry.h>
#include<hgl/graph/VKRenderResource.h>
#include<hgl/graph/VKRenderableInstance.h>
#include<hgl/graph/VKRenderable.h>
#include<hgl/graph/VKTexture.h>
#include<hgl/graph/RenderList.h>
@ -150,7 +150,7 @@ private:
SceneNode *Add(Primitive *r,MaterialInstance *mi,Pipeline *pl)
{
auto ri=db->CreateRenderableInstance(r,mi,pl);
auto ri=db->CreateRenderable(r,mi,pl);
return render_root.CreateSubNode(ri);
}

View File

@ -4,7 +4,7 @@
#include<hgl/filesystem/FileSystem.h>
#include<hgl/graph/InlineGeometry.h>
#include<hgl/graph/VKRenderResource.h>
#include<hgl/graph/VKRenderableInstance.h>
#include<hgl/graph/VKRenderable.h>
#include<hgl/graph/RenderList.h>
#include<hgl/graph/VKTexture.h>
#include<hgl/graph/VKImageView.h>
@ -89,7 +89,7 @@ private:
*ro_gbc_plane,
*ro_axis;
RenderableInstance *ro_gbc_plane_ri;
Renderable *ro_gbc_plane_ri;
struct
{
@ -329,7 +329,7 @@ private:
ro_gbc_plane=CreateRenderableGBufferComposition(db,sp_composition.material_instance->GetVAB());
if(!ro_gbc_plane)return(false);
ro_gbc_plane_ri=db->CreateRenderableInstance(ro_gbc_plane,sp_composition.material_instance,sp_composition.pipeline_fan);
ro_gbc_plane_ri=db->CreateRenderable(ro_gbc_plane,sp_composition.material_instance,sp_composition.pipeline_fan);
if(!ro_gbc_plane_ri)return(false);
return(true);
@ -338,12 +338,12 @@ private:
bool InitScene(SubpassParam *sp)
{
CreateRenderObject(sp->material_instance->GetVAB());
render_root.CreateSubNode( scale(100,100,1), db->CreateRenderableInstance(ro_plane ,sp->material_instance,sp->pipeline_fan ));
render_root.CreateSubNode( db->CreateRenderableInstance(ro_torus ,sp->material_instance,sp->pipeline_triangles));
render_root.CreateSubNode( scale(20,20,20), db->CreateRenderableInstance(ro_sphere ,sp->material_instance,sp->pipeline_triangles));
render_root.CreateSubNode(translate(-30, 0,10)*scale(10,10,10), db->CreateRenderableInstance(ro_cube ,sp->material_instance,sp->pipeline_triangles));
render_root.CreateSubNode(translate( 30, 30,10)*scale(1,1,2), db->CreateRenderableInstance(ro_cylinder ,sp->material_instance,sp->pipeline_triangles));
render_root.CreateSubNode(translate( 0,-30, 0)*scale(1,1,2), db->CreateRenderableInstance(ro_cone ,sp->material_instance,sp->pipeline_triangles));
render_root.CreateSubNode( scale(100,100,1), db->CreateRenderable(ro_plane ,sp->material_instance,sp->pipeline_fan ));
render_root.CreateSubNode( db->CreateRenderable(ro_torus ,sp->material_instance,sp->pipeline_triangles));
render_root.CreateSubNode( scale(20,20,20), db->CreateRenderable(ro_sphere ,sp->material_instance,sp->pipeline_triangles));
render_root.CreateSubNode(translate(-30, 0,10)*scale(10,10,10), db->CreateRenderable(ro_cube ,sp->material_instance,sp->pipeline_triangles));
render_root.CreateSubNode(translate( 30, 30,10)*scale(1,1,2), db->CreateRenderable(ro_cylinder ,sp->material_instance,sp->pipeline_triangles));
render_root.CreateSubNode(translate( 0,-30, 0)*scale(1,1,2), db->CreateRenderable(ro_cone ,sp->material_instance,sp->pipeline_triangles));
render_root.RefreshMatrix();
render_list->Expend(GetCameraInfo(),&render_root);

View File

@ -15,7 +15,7 @@ private:
TextRender * text_render =nullptr;
TextPrimitive * text_render_obj =nullptr;
RenderableInstance *render_instance =nullptr;
Renderable *render_instance =nullptr;
public:
@ -44,7 +44,7 @@ private:
if(!text_render_obj)
return(false);
render_instance=text_render->CreateRenderableInstance(text_render_obj);
render_instance=text_render->CreateRenderable(text_render_obj);
if(!render_instance)
return(false);

View File

@ -41,7 +41,7 @@ private:
Sampler * sampler =nullptr;
MaterialInstance * material_instance =nullptr;
Primitive * primitive =nullptr;
RenderableInstance *render_instance =nullptr;
Renderable *render_instance =nullptr;
Pipeline * pipeline =nullptr;
@ -180,7 +180,7 @@ private:
primitive->Set(VAN::Position,db->CreateVBO(VF_V4F,tile_count,position_data));
primitive->Set(VAN::TexCoord,db->CreateVBO(VF_V4F,tile_count,tex_coord_data));
render_instance=db->CreateRenderableInstance(primitive,material_instance,pipeline);
render_instance=db->CreateRenderable(primitive,material_instance,pipeline);
return(render_instance);
}

View File

@ -5,7 +5,7 @@
#include<hgl/filesystem/FileSystem.h>
#include<hgl/graph/InlineGeometry.h>
#include<hgl/graph/VKRenderResource.h>
#include<hgl/graph/VKRenderableInstance.h>
#include<hgl/graph/VKRenderable.h>
#include<hgl/graph/VKTexture.h>
#include<hgl/graph/RenderList.h>
@ -76,7 +76,7 @@ private:
SceneNode *Add(Primitive *r,MaterialInstance *mi,Pipeline *pl)
{
auto ri=db->CreateRenderableInstance(r,mi,pl);
auto ri=db->CreateRenderable(r,mi,pl);
return render_root.CreateSubNode(ri);
}

View File

@ -25,7 +25,7 @@ class TestApp:public VulkanApplicationFramework
private:
MaterialInstance * material_instance =nullptr;
RenderableInstance *renderable_instance =nullptr;
Renderable *renderable =nullptr;
Pipeline * pipeline =nullptr;
@ -52,7 +52,7 @@ private:
if(!primitive->Set(VAN::Position,db->CreateVBO(VF_V2F,VERTEX_COUNT,position_data)))return(false);
renderable_instance=db->CreateRenderableInstance(primitive,material_instance,pipeline);
renderable=db->CreateRenderable(primitive,material_instance,pipeline);
return(true);
}
@ -69,7 +69,7 @@ public:
if(!InitVBO())
return(false);
BuildCommandBuffer(renderable_instance);
BuildCommandBuffer(renderable);
return(true);
}
@ -78,7 +78,7 @@ public:
{
VulkanApplicationFramework::Resize(w,h);
BuildCommandBuffer(renderable_instance);
BuildCommandBuffer(renderable);
}
};//class TestApp:public VulkanApplicationFramework

View File

@ -15,7 +15,7 @@ class TestApp:public VulkanApplicationFramework
private:
MaterialInstance * material_instance =nullptr;
RenderableInstance *renderable_instance =nullptr;
Renderable *renderable =nullptr;
Pipeline * pipeline =nullptr;
@ -38,7 +38,7 @@ private:
auto primitive=db->CreatePrimitive(3);
if(!primitive)return(false);
renderable_instance=db->CreateRenderableInstance(primitive,material_instance,pipeline);
renderable=db->CreateRenderable(primitive,material_instance,pipeline);
return(true);
}
@ -56,7 +56,7 @@ public:
if(!InitVBO())
return(false);
BuildCommandBuffer(renderable_instance);
BuildCommandBuffer(renderable);
return(true);
}
@ -65,7 +65,7 @@ public:
{
VulkanApplicationFramework::Resize(w,h);
BuildCommandBuffer(renderable_instance);
BuildCommandBuffer(renderable);
}
};//class TestApp:public VulkanApplicationFramework

View File

@ -47,9 +47,9 @@ private:
return(true);
}
RenderableInstance *Add(Primitive *r,const Matrix4f &mat)
Renderable *Add(Primitive *r,const Matrix4f &mat)
{
RenderableInstance *ri=db->CreateRenderableInstance(r,material_instance,pipeline);
Renderable *ri=db->CreateRenderable(r,material_instance,pipeline);
render_root.CreateSubNode(mat,ri);

View File

@ -5,7 +5,7 @@
#include<hgl/filesystem/FileSystem.h>
#include<hgl/graph/InlineGeometry.h>
#include<hgl/graph/VKRenderResource.h>
#include<hgl/graph/VKRenderableInstance.h>
#include<hgl/graph/VKRenderable.h>
#include<hgl/graph/VKTexture.h>
#include<hgl/graph/RenderList.h>
@ -232,21 +232,21 @@ private:
void Add(Primitive *r,Pipeline *pl)
{
auto ri=db->CreateRenderableInstance(r,material_instance,pl);
auto ri=db->CreateRenderable(r,material_instance,pl);
render_root.CreateSubNode(ri);
}
void Add(Primitive *r,Pipeline *pl,const Matrix4f &mat)
{
auto ri=db->CreateRenderableInstance(r,material_instance,pl);
auto ri=db->CreateRenderable(r,material_instance,pl);
render_root.CreateSubNode(mat,ri);
}
bool InitScene()
{
render_root.CreateSubNode(db->CreateRenderableInstance(ro_axis,axis_mi,axis_pipeline));
render_root.CreateSubNode(db->CreateRenderable(ro_axis,axis_mi,axis_pipeline));
Add(ro_torus ,pipeline_solid);
Add(ro_cube ,pipeline_solid,translate(-10, 0, 5)*scale(10,10,10));

View File

@ -32,7 +32,7 @@ class TestApp:public VulkanApplicationFramework
private:
MaterialInstance * material_instance =nullptr;
RenderableInstance *render_instance =nullptr;
Renderable *render_instance =nullptr;
Pipeline * pipeline =nullptr;
@ -59,7 +59,7 @@ private:
if(!primitive->Set(VAN::Position, db->CreateVBO(VF_V2F,VERTEX_COUNT,position_data)))return(false);
if(!primitive->Set(VAN::Color, db->CreateVBO(VF_V4F,VERTEX_COUNT,color_data)))return(false);
render_instance=db->CreateRenderableInstance(primitive,material_instance,pipeline);
render_instance=db->CreateRenderable(primitive,material_instance,pipeline);
return(true);
}

View File

@ -4,7 +4,7 @@
#include"VulkanAppFramework.h"
#include<hgl/filesystem/FileSystem.h>
#include<hgl/graph/InlineGeometry.h>
#include<hgl/graph/RenderableInstance.h>
#include<hgl/graph/Renderable.h>
#include<hgl/graph/VertexAttribData.h>
#include<hgl/graph/data/SceneNodeData.h>
@ -110,13 +110,13 @@ private:
ModelData *model_data;
vulkan::Primitive **mesh_renderable;
RenderableInstance **mesh_renderable_instance;
Renderable **mesh_renderable_instance;
vulkan::Primitive *axis_renderable;
RenderableInstance *axis_renderable_instance;
Renderable *axis_renderable_instance;
vulkan::Primitive *bbox_renderable;
RenderableInstance *bbox_renderable_instance;
Renderable *bbox_renderable_instance;
private:
@ -163,9 +163,9 @@ private:
return(true);
}
RenderableInstance *CreateRenderableInstance(const MP &mp,vulkan::Primitive *r)
Renderable *CreateRenderable(const MP &mp,vulkan::Primitive *r)
{
return db->CreateRenderableInstance(mp.pipeline,mp.material_instance,r);
return db->CreateRenderable(mp.pipeline,mp.material_instance,r);
}
void CreateRenderObject()
@ -174,12 +174,12 @@ private:
MeshData **md=model_data->mesh_list.GetData();
mesh_renderable =new vulkan::Primitive *[count];
mesh_renderable_instance=new RenderableInstance *[count];
mesh_renderable_instance=new Renderable *[count];
for(uint i=0;i<count;i++)
{
mesh_renderable[i]=CreateMeshRenderable(db,mp_solid.material,*md);
mesh_renderable_instance[i]=CreateRenderableInstance(mp_solid,mesh_renderable[i]);
mesh_renderable_instance[i]=CreateRenderable(mp_solid,mesh_renderable[i]);
++md;
}
@ -189,7 +189,7 @@ private:
aci.size.Set(1000,1000,1000);
axis_renderable=CreateRenderableAxis(db,mp_line.material,&aci);
axis_renderable_instance=CreateRenderableInstance(mp_line,axis_renderable);
axis_renderable_instance=CreateRenderable(mp_line,axis_renderable);
}
{
@ -199,7 +199,7 @@ private:
cci.color.Set(1,1,1,1);
bbox_renderable=CreateRenderableBoundingBox(db,mp_line.material,&cci);
bbox_renderable_instance=CreateRenderableInstance(mp_line,bbox_renderable);
bbox_renderable_instance=CreateRenderable(mp_line,bbox_renderable);
}
}

View File

@ -25,7 +25,7 @@ class TestApp:public CameraAppFramework
RenderCmdBuffer * command_buffer =nullptr;
Pipeline * pipeline =nullptr;
RenderableInstance *renderable_instance =nullptr;
Renderable *renderable =nullptr;
public:
@ -45,7 +45,7 @@ class TestApp:public CameraAppFramework
Sampler * sampler =nullptr;
Pipeline * pipeline =nullptr;
RenderableInstance *renderable_instance =nullptr;
Renderable *renderable =nullptr;
SceneNode scene_root;
RenderList * render_list =nullptr;
@ -108,12 +108,12 @@ public:
Primitive *primitive=CreateRenderableCircle(db,os.material_instance->GetVAB(),&cci);
if(!primitive)return(false);
os.renderable_instance=db->CreateRenderableInstance(primitive,os.material_instance,os.pipeline);
os.renderable=db->CreateRenderable(primitive,os.material_instance,os.pipeline);
if(!os.renderable_instance)return(false);
if(!os.renderable)return(false);
}
VulkanApplicationFramework::BuildCommandBuffer(os.command_buffer,os.render_taget,os.renderable_instance);
VulkanApplicationFramework::BuildCommandBuffer(os.command_buffer,os.render_taget,os.renderable);
os.Submit();
@ -144,9 +144,9 @@ public:
Primitive *primitive=CreateRenderableCube(db,cube.material_instance->GetVAB(),&cci);
if(!primitive)return(false);
cube.renderable_instance=db->CreateRenderableInstance(primitive,cube.material_instance,cube.pipeline);
cube.renderable=db->CreateRenderable(primitive,cube.material_instance,cube.pipeline);
cube.scene_root.CreateSubNode(cube.renderable_instance);
cube.scene_root.CreateSubNode(cube.renderable);
}
camera->pos=Vector4f(5,5,5,1.0);

View File

@ -67,9 +67,9 @@ private:
return(true);
}
RenderableInstance *Add(Primitive *r,const Matrix4f &mat)
Renderable *Add(Primitive *r,const Matrix4f &mat)
{
RenderableInstance *ri=db->CreateRenderableInstance(r,material_instance,pipeline);
Renderable *ri=db->CreateRenderable(r,material_instance,pipeline);
render_root.CreateSubNode(mat,ri);

View File

@ -38,7 +38,7 @@ private:
Sampler * sampler =nullptr;
MaterialInstance * material_instance =nullptr;
Primitive * primitive =nullptr;
RenderableInstance *render_instance =nullptr;
Renderable *render_instance =nullptr;
Pipeline * pipeline =nullptr;
@ -73,7 +73,7 @@ private:
primitive->Set(VAN::Position,db->CreateVBO(VF_V4F,VERTEX_COUNT,position_data));
primitive->Set(VAN::TexCoord,db->CreateVBO(VF_V4F,VERTEX_COUNT,tex_coord_data));
render_instance=db->CreateRenderableInstance(primitive,material_instance,pipeline);
render_instance=db->CreateRenderable(primitive,material_instance,pipeline);
return(render_instance);
}

View File

@ -112,7 +112,7 @@ private:
uint count;
float size;
RenderableInstance *ri=db->CreateRenderableInstance(renderable_object,material_instance,pipeline);
Renderable *ri=db->CreateRenderable(renderable_object,material_instance,pipeline);
for(uint i=0;i<360;i++)
{

View File

@ -77,9 +77,9 @@ private:
return(true);
}
RenderableInstance *Add(Primitive *r,const Matrix4f &mat)
Renderable *Add(Primitive *r,const Matrix4f &mat)
{
RenderableInstance *ri=db->CreateRenderableInstance(r,material_instance,pipeline);
Renderable *ri=db->CreateRenderable(r,material_instance,pipeline);
render_root.CreateSubNode(mat,ri);

View File

@ -66,9 +66,9 @@ private:
return(true);
}
RenderableInstance *Add(Primitive *r,const Matrix4f &mat)
Renderable *Add(Primitive *r,const Matrix4f &mat)
{
RenderableInstance *ri=db->CreateRenderableInstance(r,material_instance,pipeline);
Renderable *ri=db->CreateRenderable(r,material_instance,pipeline);
render_root.CreateSubNode(mat,ri);
@ -100,7 +100,7 @@ private:
bool InitScene()
{
RenderableInstance *ri=db->CreateRenderableInstance(renderable,material_instance,pipeline);
Renderable *ri=db->CreateRenderable(renderable,material_instance,pipeline);
render_root.CreateSubNode(ri);

View File

@ -32,7 +32,7 @@ class TestApp:public VulkanApplicationFramework
private:
MaterialInstance * material_instance =nullptr;
RenderableInstance *render_instance =nullptr;
Renderable *render_instance =nullptr;
Pipeline * pipeline =nullptr;
@ -59,7 +59,7 @@ private:
if(!primitive->Set(VAN::Position, db->CreateVBO(VF_V2F,VERTEX_COUNT,position_data)))return(false);
if(!primitive->Set(VAN::Color, db->CreateVBO(VF_V4F,VERTEX_COUNT,color_data)))return(false);
render_instance=db->CreateRenderableInstance(primitive,material_instance,pipeline);
render_instance=db->CreateRenderable(primitive,material_instance,pipeline);
return(true);
}

View File

@ -35,7 +35,7 @@ class TestApp:public VulkanApplicationFramework
private:
MaterialInstance * material_instance =nullptr;
RenderableInstance *renderable_instance =nullptr;
Renderable *renderable =nullptr;
Pipeline * pipeline =nullptr;
@ -62,7 +62,7 @@ private:
if(!primitive->Set(VAN::Position,db->CreateVBO(VF_V2F,VERTEX_COUNT,position_data)))return(false);
if(!primitive->Set(db->CreateIBO16(INDEX_COUNT,index_data)))return(false);
renderable_instance=db->CreateRenderableInstance(primitive,material_instance,pipeline);
renderable=db->CreateRenderable(primitive,material_instance,pipeline);
return(true);
}
@ -80,7 +80,7 @@ public:
if(!InitVBO())
return(false);
BuildCommandBuffer(renderable_instance);
BuildCommandBuffer(renderable);
return(true);
}
@ -89,7 +89,7 @@ public:
{
VulkanApplicationFramework::Resize(w,h);
BuildCommandBuffer(renderable_instance);
BuildCommandBuffer(renderable);
}
};//class TestApp:public VulkanApplicationFramework

View File

@ -32,7 +32,7 @@ class TestApp:public VulkanApplicationFramework
private:
MaterialInstance * material_instance =nullptr;
RenderableInstance *render_instance =nullptr;
Renderable *render_instance =nullptr;
Pipeline * pipeline =nullptr;
@ -61,7 +61,7 @@ private:
if(!primitive->Set(VAN::Position, db->CreateVBO(VF_V2F,VERTEX_COUNT,position_data)))return(false);
if(!primitive->Set(VAN::Color, db->CreateVBO(VF_V4F,VERTEX_COUNT,color_data)))return(false);
render_instance=db->CreateRenderableInstance(primitive,material_instance,pipeline);
render_instance=db->CreateRenderable(primitive,material_instance,pipeline);
return(true);
}

View File

@ -50,7 +50,7 @@ private:
Texture2D * texture =nullptr;
Sampler * sampler =nullptr;
MaterialInstance * material_instance =nullptr;
RenderableInstance *renderable_instance =nullptr;
Renderable *renderable =nullptr;
Pipeline * pipeline =nullptr;
private:
@ -87,7 +87,7 @@ private:
if(!primitive->Set(VAN::TexCoord,db->CreateVBO(VF_V2F,VERTEX_COUNT,tex_coord_data)))return(false);
if(!primitive->Set(db->CreateIBO16(INDEX_COUNT,index_data)))return(false);
renderable_instance=db->CreateRenderableInstance(primitive,material_instance,pipeline);
renderable=db->CreateRenderable(primitive,material_instance,pipeline);
return(true);
}
@ -105,7 +105,7 @@ public:
if(!InitVBO())
return(false);
BuildCommandBuffer(renderable_instance);
BuildCommandBuffer(renderable);
return(true);
}
@ -114,7 +114,7 @@ public:
{
VulkanApplicationFramework::Resize(w,h);
BuildCommandBuffer(renderable_instance);
BuildCommandBuffer(renderable);
}
};//class TestApp:public VulkanApplicationFramework

View File

@ -34,7 +34,7 @@ private:
RenderList * render_list =nullptr;
MaterialInstance * material_instance =nullptr;
RenderableInstance *render_instance =nullptr;
Renderable *render_instance =nullptr;
Pipeline * pipeline =nullptr;
@ -63,7 +63,7 @@ private:
if(!primitive->Set(VAN::Position, db->CreateVBO(VF_V2F,VERTEX_COUNT,position_data)))return(false);
if(!primitive->Set(VAN::Color, db->CreateVBO(VF_V4F,VERTEX_COUNT,color_data)))return(false);
render_instance=db->CreateRenderableInstance(primitive,material_instance,pipeline);
render_instance=db->CreateRenderable(primitive,material_instance,pipeline);
render_root.CreateSubNode(render_instance);

View File

@ -208,7 +208,7 @@ public:
}
}
bool BuildCommandBuffer(RenderCmdBuffer *cb,RenderPass *rp,Framebuffer *fb,RenderableInstance *ri)
bool BuildCommandBuffer(RenderCmdBuffer *cb,RenderPass *rp,Framebuffer *fb,Renderable *ri)
{
if(!ri)return(false);
@ -233,7 +233,7 @@ public:
return(true);
}
void BuildCommandBuffer(RenderCmdBuffer *cb,RenderTarget *rt,RenderableInstance *ri)
void BuildCommandBuffer(RenderCmdBuffer *cb,RenderTarget *rt,Renderable *ri)
{
if(!cb||!rt||!ri)
return;
@ -241,14 +241,14 @@ public:
BuildCommandBuffer(cb,rt->GetRenderPass(),rt->GetFramebuffer(),ri);
}
bool BuildCommandBuffer(uint32_t index,RenderableInstance *ri)
bool BuildCommandBuffer(uint32_t index,Renderable *ri)
{
if(!ri)return(false);
return BuildCommandBuffer(cmd_buf[index],sc_render_target->GetRenderPass(),sc_render_target->GetFramebuffer(index),ri);
}
bool BuildCommandBuffer(RenderableInstance *ri)
bool BuildCommandBuffer(Renderable *ri)
{
if(!ri)return(false);
@ -258,7 +258,7 @@ public:
return(true);
}
bool BuildCurrentCommandBuffer(RenderableInstance *ri)
bool BuildCurrentCommandBuffer(Renderable *ri)
{
if(!ri)return(false);

View File

@ -1,5 +1,5 @@
#ifndef HGL_GRAPH_RENDERABLE_CREATER_INCLUDE
#define HGL_GRAPH_RENDERABLE_CREATER_INCLUDE
#ifndef HGL_GRAPH_PRIMITIVE_CREATER_INCLUDE
#define HGL_GRAPH_PRIMITIVE_CREATER_INCLUDE
#include<hgl/graph/VKRenderResource.h>
#include<hgl/graph/VertexAttribDataAccess.h>
@ -26,9 +26,9 @@ namespace hgl
using ShaderStageBindMap=MapObject<AnsiString,ShaderStageBind>;
/**
*
*
*/
class RenderableCreater
class PrimitiveCreater
{
protected:
@ -46,8 +46,8 @@ namespace hgl
public:
RenderableCreater(RenderResource *sdb,const VAB *);
virtual ~RenderableCreater()=default;
PrimitiveCreater(RenderResource *sdb,const VAB *);
virtual ~PrimitiveCreater()=default;
virtual bool Init(const uint32 vertices_count); ///<初始化,参数为顶点数量
@ -79,7 +79,7 @@ namespace hgl
uint32 * CreateIBO32(uint count,const uint32 *data=nullptr); ///<创建32位的索引缓冲区
virtual Primitive * Finish(); ///<结束并创建可渲染对象
};//class RenderableCreater
};//class PrimitiveCreater
}//namespace graph
}//namespace hgl
#endif//HGL_GRAPH_RENDERABLE_CREATER_INCLUDE
#endif//HGL_GRAPH_PRIMITIVE_CREATER_INCLUDE

View File

@ -37,7 +37,7 @@ namespace hgl
private:
MVPArrayBuffer *mvp_array;
List<RenderableInstance *> ri_list;
List<Renderable *> ri_list;
VkDescriptorSet ds_list[(size_t)DescriptorSetsType::RANGE_SIZE];
DescriptorSets *renderable_desc_sets;
@ -57,7 +57,7 @@ namespace hgl
MaterialParameters *last_mp[(size_t)DescriptorSetsType::RANGE_SIZE];
uint32_t last_vbo;
void Render(RenderableInstance *);
void Render(Renderable *);
public:

View File

@ -8,7 +8,7 @@ namespace hgl
{
namespace graph
{
class RenderableInstance;
class Renderable;
struct RenderNode
{
@ -19,7 +19,7 @@ namespace hgl
float distance_to_camera_square;
// float distance_to_camera;
RenderableInstance *ri;
Renderable *ri;
public:

View File

@ -26,7 +26,7 @@ namespace hgl
Vector4f LocalCenter; ///<本地坐标中心点
Vector4f WorldCenter; ///<世界坐标中心点
RenderableInstance *render_obj=nullptr; ///<可渲染实例
Renderable *render_obj=nullptr; ///<可渲染实例
public:
@ -35,9 +35,9 @@ namespace hgl
public:
SceneNode()=default;
SceneNode( RenderableInstance *ri ) {render_obj=ri;}
SceneNode( Renderable *ri ) {render_obj=ri;}
SceneNode(const Matrix4f &mat ):SceneOrient(mat) {}
SceneNode(const Matrix4f &mat, RenderableInstance *ri ):SceneOrient(mat) {render_obj=ri;}
SceneNode(const Matrix4f &mat, Renderable *ri ):SceneOrient(mat) {render_obj=ri;}
virtual ~SceneNode()=default;
@ -47,8 +47,8 @@ namespace hgl
render_obj=nullptr;
}
RenderableInstance *GetRI(){return render_obj;}
void SetRI(RenderableInstance *);
Renderable *GetRenderable(){return render_obj;}
void SetRenderable(Renderable *);
SceneNode *CreateSubNode()
{
@ -58,7 +58,7 @@ namespace hgl
return sn;
}
SceneNode *CreateSubNode(RenderableInstance *ri)
SceneNode *CreateSubNode(Renderable *ri)
{
SceneNode *sn=new SceneNode(ri);
@ -74,7 +74,7 @@ namespace hgl
return sn;
}
SceneNode *CreateSubNode(const Matrix4f &mat,RenderableInstance *ri)
SceneNode *CreateSubNode(const Matrix4f &mat,Renderable *ri)
{
SceneNode *sn=new SceneNode(mat,ri);

View File

@ -131,7 +131,7 @@ class VertexAttributeBinding;
using VAB=VertexAttributeBinding;
class Primitive;
class RenderableInstance;
class Renderable;
class RenderResource;

View File

@ -126,7 +126,7 @@ public:
return(true);
}
bool BindDescriptorSets(RenderableInstance *ri);
bool BindDescriptorSets(Renderable *ri);
bool PushDescriptorSet(VkPipelineLayout pipeline_layout,uint32_t set,uint32_t count,const VkWriteDescriptorSet *write_desc_set)
{
@ -141,7 +141,7 @@ public:
void PushConstants(const void *data,const uint32_t size) {vkCmdPushConstants(cmd_buf,pipeline_layout,VK_SHADER_STAGE_VERTEX_BIT,0, size,data);}
void PushConstants(const void *data,const uint32_t offset,const uint32_t size) {vkCmdPushConstants(cmd_buf,pipeline_layout,VK_SHADER_STAGE_VERTEX_BIT,offset, size,data);}
bool BindVBO(RenderableInstance *);
bool BindVBO(Renderable *);
void SetViewport (uint32_t first,uint32_t count,const VkViewport *vp) {vkCmdSetViewport(cmd_buf,first,count,vp);}
void SetScissor (uint32_t first,uint32_t count,const VkRect2D *sci) {vkCmdSetScissor(cmd_buf,first,count,sci);}

View File

@ -11,7 +11,7 @@
#include<hgl/graph/VKMaterialParameters.h>
#include<hgl/graph/VKMaterialInstance.h>
#include<hgl/graph/VertexAttribData.h>
#include<hgl/graph/VKRenderableInstance.h>
#include<hgl/graph/VKRenderable.h>
#include<hgl/graph/font/TextPrimitive.h>
#include<hgl/type/ResManage.h>
VK_NAMESPACE_BEGIN
@ -20,7 +20,7 @@ using MaterialInstanceID =int;
using BufferID =int;
using DescriptorSetsID =int;
using PrimitiveID =int;
using RenderableInstanceID =int;
using RenderableID =int;
using SamplerID =int;
using TextureID =int;
@ -44,7 +44,7 @@ class RenderResource
IDResManage<BufferID, GPUBuffer> rm_buffers; ///<顶点缓冲区合集
IDResManage<SamplerID, Sampler> rm_samplers; ///<采样器合集
IDResManage<TextureID, Texture> rm_textures; ///<纹理合集
IDResManage<RenderableInstanceID, RenderableInstance> rm_renderable_instances; ///<渲染实例集合集
IDResManage<RenderableID, Renderable> rm_renderables; ///<渲染实例集合集
public:
@ -60,7 +60,7 @@ public: //Add
BufferID Add(GPUBuffer * buf ){return rm_buffers.Add(buf);}
SamplerID Add(Sampler * s ){return rm_samplers.Add(s);}
TextureID Add(Texture * t ){return rm_textures.Add(t);}
RenderableInstanceID Add(RenderableInstance *ri ){return rm_renderable_instances.Add(ri);}
RenderableID Add(Renderable * r ){return rm_renderables.Add(r);}
public: // VBO/VAO
@ -95,7 +95,7 @@ public: //Material
Primitive * CreatePrimitive(const uint32_t vertex_count=0);
RenderableInstance *CreateRenderableInstance(Primitive *r,MaterialInstance *mi,Pipeline *p);
Renderable * CreateRenderable(Primitive *r,MaterialInstance *mi,Pipeline *p);
Sampler * CreateSampler(VkSamplerCreateInfo *sci=nullptr);
Sampler * CreateSampler(Texture *);
@ -114,7 +114,7 @@ public: //Get
GPUBuffer * GetBuffer (const BufferID &id){return rm_buffers.Get(id);}
Sampler * GetSampler (const SamplerID &id){return rm_samplers.Get(id);}
Texture * GetTexture (const TextureID &id){return rm_textures.Get(id);}
RenderableInstance *GetRenderableInstance (const RenderableInstanceID &id){return rm_renderable_instances.Get(id);}
Renderable * GetRenderable (const RenderableID &id){return rm_renderables.Get(id);}
};//class RenderResource
VK_NAMESPACE_END
#endif//HGL_GRAPH_VULKAN_DATABASE_INCLUDE

View File

@ -1,5 +1,5 @@
#ifndef HGL_GRAPH_RENDERABLE_INSTANCE_INCLUDE
#define HGL_GRAPH_RENDERABLE_INSTANCE_INCLUDE
#ifndef HGL_GRAPH_RENDERABLE_INCLUDE
#define HGL_GRAPH_RENDERABLE_INCLUDE
#include<hgl/graph/VKPrimitive.h>
#include<hgl/graph/VKPipeline.h>
@ -9,10 +9,10 @@
#include<hgl/graph/VKMaterialInstance.h>
VK_NAMESPACE_BEGIN
/**
* <br>
* <br>
* RenderList会统一管理Shader中的LocalToWorld数据使DynamicUBO/DynamicSSBO实现
*/
class RenderableInstance ///可渲染对象实例
class Renderable ///可渲染对象实例
{
Pipeline * pipeline;
MaterialInstance * mat_inst;
@ -26,13 +26,13 @@ class RenderableInstance
private:
friend RenderableInstance *CreateRenderableInstance(Primitive *,MaterialInstance *,Pipeline *);
friend Renderable *CreateRenderable(Primitive *,MaterialInstance *,Pipeline *);
RenderableInstance(Primitive *,MaterialInstance *,Pipeline *,const uint32_t,VkBuffer *,VkDeviceSize *);
Renderable(Primitive *,MaterialInstance *,Pipeline *,const uint32_t,VkBuffer *,VkDeviceSize *);
public:
virtual ~RenderableInstance();
virtual ~Renderable();
void UpdatePipeline (Pipeline *p){pipeline=p;}
@ -57,8 +57,8 @@ public:
public: //instance support
virtual const uint32_t GetInstanceCount ()const{return 1;}
};//class RenderableInstance
};//class Renderable
RenderableInstance *CreateRenderableInstance(Primitive *,MaterialInstance *,Pipeline *);
Renderable *CreateRenderable(Primitive *,MaterialInstance *,Pipeline *);
VK_NAMESPACE_END
#endif//HGL_GRAPH_RENDERABLE_INSTANCE_INCLUDE
#endif//HGL_GRAPH_RENDERABLE_INCLUDE

View File

@ -3,7 +3,7 @@
#include<hgl/type/StringList.h>
#include<hgl/graph/font/FontSource.h>
#include<hgl/graph/RenderableCreater.h>
#include<hgl/graph/PrimitiveCreater.h>
#include<hgl/graph/TileData.h>
#include<hgl/type/MemBlock.h>
namespace hgl

View File

@ -58,7 +58,7 @@ namespace hgl
bool Layout(TextPrimitive *tr,const UTF16String &str);
RenderableInstance *CreateRenderableInstance(TextPrimitive *text_render_obj);
Renderable *CreateRenderable(TextPrimitive *text_render_obj);
void Release(TextPrimitive *);
};//class TextRender

View File

@ -40,10 +40,10 @@ SET(SCENE_GRAPH_SOURCE RenderList.cpp
#SceneFile.cpp
)
SET(RENDERABLE_FILES ${SG_INCLUDE_PATH}/RenderableCreater.h
RenderableCreater.cpp)
SET(PRIMITIVE_CREATER_FILES ${SG_INCLUDE_PATH}/PrimitiveCreater.h
PrimitiveCreater.cpp)
SOURCE_GROUP("Renderable" FILES ${RENDERABLE_FILES})
SOURCE_GROUP("PrimitiveCreater" FILES ${PRIMITIVE_CREATER_FILES})
SET(FONT_MANAGE_SOURCE ${SG_INCLUDE_PATH}/font/Font.h
${SG_INCLUDE_PATH}/font/FontManage.h
@ -221,9 +221,9 @@ SET(VK_CMD_BUFFER_SOURCE ${SG_INCLUDE_PATH}/VKCommandBuffer.h
SOURCE_GROUP("Vulkan\\Command Buffer" FILES ${VK_CMD_BUFFER_SOURCE})
SET(VK_RENDERABLE_SOURCE ${SG_INCLUDE_PATH}/VKPrimitive.h
${SG_INCLUDE_PATH}/VKRenderableInstance.h
${SG_INCLUDE_PATH}/VKRenderable.h
Vulkan/VKPrimitive.cpp
Vulkan/VKRenderableInstance.cpp
Vulkan/VKRenderable.cpp
Vulkan/VKTileData.cpp
Vulkan/VKTileFont.cpp)
@ -264,7 +264,7 @@ add_cm_library(ULRE.SceneGraph "ULRE" ${SCENE_GRAPH_HEADER}
${TILE_SOURCE}
${SG_VAD_SOURCE}
${RENDERABLE_FILES}
${PRIMITIVE_CREATER_FILES}
${FONT_MANAGE_SOURCE}
${FONT_SOURCE}

View File

@ -6,7 +6,7 @@
#include<hgl/graph/VKDevice.h>
#include<hgl/graph/VKShaderModule.h>
#include<hgl/graph/VKRenderResource.h>
#include<hgl/graph/RenderableCreater.h>
#include<hgl/graph/PrimitiveCreater.h>
namespace hgl
{
@ -14,7 +14,7 @@ namespace hgl
{
Primitive *CreateRenderableRectangle(RenderResource *db,const VAB *vab,const RectangleCreateInfo *rci)
{
RenderableCreater rc(db,vab);
PrimitiveCreater rc(db,vab);
if(!rc.Init(4))
return(nullptr);
@ -40,7 +40,7 @@ namespace hgl
Primitive *CreateRenderableRoundRectangle(RenderResource *db,const VAB *vab,const RoundRectangleCreateInfo *rci)
{
RenderableCreater rc(db,vab);
PrimitiveCreater rc(db,vab);
if(rci->radius==0||rci->round_per<=1) //这是要画矩形
{
@ -114,7 +114,7 @@ namespace hgl
Primitive *CreateRenderableCircle(RenderResource *db,const VAB *vab,const CircleCreateInfo *cci)
{
RenderableCreater rc(db,vab);
PrimitiveCreater rc(db,vab);
uint edge;
@ -162,7 +162,7 @@ namespace hgl
Primitive *CreateRenderablePlaneGrid(RenderResource *db,const VAB *vab,const PlaneGridCreateInfo *pgci)
{
RenderableCreater rc(db,vab);
PrimitiveCreater rc(db,vab);
if(!rc.Init(((pgci->step.x+1)+(pgci->step.y+1))*2))
return(nullptr);
@ -214,7 +214,7 @@ namespace hgl
const Vector3f xy_normal(0.0f,0.0f,1.0f);
const Vector3f xy_tangent(1.0f,0.0f,0.0f);
RenderableCreater rc(db,vab);
PrimitiveCreater rc(db,vab);
if(!rc.Init(4))
return(nullptr);
@ -301,7 +301,7 @@ namespace hgl
16, 17, 18, 16, 18, 19,
20, 23, 22, 20, 22, 21};
RenderableCreater rc(db,vab);
PrimitiveCreater rc(db,vab);
if(!rc.Init(24))
return(nullptr);
@ -442,7 +442,7 @@ namespace hgl
*/
Primitive *CreateRenderableSphere(RenderResource *db,const VAB *vab,const uint numberSlices)
{
RenderableCreater rc(db,vab);
PrimitiveCreater rc(db,vab);
uint numberParallels = (numberSlices+1) / 2;
uint numberVertices = (numberParallels + 1) * (numberSlices + 1);
@ -518,7 +518,7 @@ namespace hgl
Primitive *CreateRenderableDome(RenderResource *db,const VAB *vab,const uint numberSlices)
{
RenderableCreater rc(db,vab);
PrimitiveCreater rc(db,vab);
uint i, j;
@ -639,7 +639,7 @@ namespace hgl
Primitive *CreateRenderableTorus(RenderResource *db,const VAB *vab,const TorusCreateInfo *tci)
{
RenderableCreater rc(db,vab);
PrimitiveCreater rc(db,vab);
// s, t = parametric values of the equations, in the range [0,1]
float s = 0;
@ -800,7 +800,7 @@ namespace hgl
if(numberIndices<=0)
return(nullptr);
RenderableCreater rc(db,vab);
PrimitiveCreater rc(db,vab);
uint numberVertices = (cci->numberSlices + 2) * 2 + (cci->numberSlices + 1) * 2;
@ -1014,7 +1014,7 @@ namespace hgl
Primitive *CreateRenderableCone(RenderResource *db,const VAB *vab,const ConeCreateInfo *cci)
{
RenderableCreater rc(db,vab);
PrimitiveCreater rc(db,vab);
uint i, j;
@ -1143,7 +1143,7 @@ namespace hgl
{
if(!db||!vab||!aci)return(nullptr);
RenderableCreater rc(db,vab);
PrimitiveCreater rc(db,vab);
if(!rc.Init(6))
return(nullptr);
@ -1188,7 +1188,7 @@ namespace hgl
0,4, 1,5, 2,6, 3,7
};
RenderableCreater rc(db,vab);
PrimitiveCreater rc(db,vab);
if(!rc.Init(8))
return(nullptr);

View File

@ -1,11 +1,11 @@
#include<hgl/graph/RenderableCreater.h>
#include<hgl/graph/PrimitiveCreater.h>
#include<hgl/graph/VKShaderModule.h>
namespace hgl
{
namespace graph
{
RenderableCreater::RenderableCreater(RenderResource *sdb,const VAB *v)
PrimitiveCreater::PrimitiveCreater(RenderResource *sdb,const VAB *v)
{
db =sdb;
vab =v;
@ -14,7 +14,7 @@ namespace hgl
ibo =nullptr;
}
bool RenderableCreater::Init(const uint32 count)
bool PrimitiveCreater::Init(const uint32 count)
{
if(count<=0)return(false);
@ -23,7 +23,7 @@ namespace hgl
return(true);
}
VAD *RenderableCreater::CreateVAD(const AnsiString &name)
VAD *PrimitiveCreater::CreateVAD(const AnsiString &name)
{
if(!vab)return(nullptr);
if(name.IsEmpty())return(nullptr);
@ -56,7 +56,7 @@ namespace hgl
return ssb->data;
}
bool RenderableCreater::WriteVAD(const AnsiString &name,const void *data,const uint32_t bytes)
bool PrimitiveCreater::WriteVAD(const AnsiString &name,const void *data,const uint32_t bytes)
{
if(!vab)return(false);
if(name.IsEmpty())return(false);
@ -89,7 +89,7 @@ namespace hgl
return true;
}
uint16 *RenderableCreater::CreateIBO16(uint count,const uint16 *data)
uint16 *PrimitiveCreater::CreateIBO16(uint count,const uint16 *data)
{
if(ibo)return(nullptr);
@ -97,7 +97,7 @@ namespace hgl
return (uint16 *)ibo->Map();
}
uint32 *RenderableCreater::CreateIBO32(uint count,const uint32 *data)
uint32 *PrimitiveCreater::CreateIBO32(uint count,const uint32 *data)
{
if(ibo)return(nullptr);
@ -105,7 +105,7 @@ namespace hgl
return (uint32 *)ibo->Map();
}
Primitive *RenderableCreater::Finish()
Primitive *PrimitiveCreater::Finish()
{
const uint si_count=vab->GetVertexAttrCount();

View File

@ -6,7 +6,7 @@
#include<hgl/graph/VKCommandBuffer.h>
#include<hgl/graph/VertexAttribDataAccess.h>
#include<hgl/graph/VKMaterialParameters.h>
#include<hgl/graph/VKRenderableInstance.h>
#include<hgl/graph/VKRenderable.h>
#include<hgl/util/sort/Sort.h>
/**
@ -23,8 +23,8 @@ int Comparator<RenderNodePointer>::compare(const RenderNodePointer &obj_one,cons
{
int off;
hgl::graph::RenderableInstance *ri_one=obj_one->ri;
hgl::graph::RenderableInstance *ri_two=obj_two->ri;
hgl::graph::Renderable *ri_one=obj_one->ri;
hgl::graph::Renderable *ri_two=obj_two->ri;
//比较管线
{
@ -133,7 +133,7 @@ namespace hgl
ubo_align=mvp_array->GetUnitSize();
char *mp=(char *)(mvp_array->Map(0,count));
RenderableInstance **ri=ri_list.GetData();
Renderable **ri=ri_list.GetData();
for(RenderNode *node:render_node_list) //未来可能要在Expend处考虑做去重
{
@ -165,7 +165,7 @@ namespace hgl
{
if(!sn)return(false);
RenderableInstance *ri=sn->GetRI();
Renderable *ri=sn->GetRenderable();
if(ri)
{
@ -204,7 +204,7 @@ namespace hgl
return(true);
}
void RenderList::Render(RenderableInstance *ri)
void RenderList::Render(Renderable *ri)
{
if(last_pipeline!=ri->GetPipeline())
{
@ -294,7 +294,7 @@ namespace hgl
last_vbo=0;
ubo_offset=0;
for(RenderableInstance *ri:ri_list)
for(Renderable *ri:ri_list)
Render(ri);
return(true);

View File

@ -1,11 +1,11 @@
#include<hgl/graph/SceneNode.h>
#include<hgl/graph/RenderList.h>
#include<hgl/graph/VKRenderableInstance.h>
#include<hgl/graph/VKRenderable.h>
namespace hgl
{
namespace graph
{
void SceneNode::SetRI(RenderableInstance *ri)
void SceneNode::SetRenderable(Renderable *ri)
{
render_obj=ri;

View File

@ -1,7 +1,7 @@
#include<hgl/graph/VKCommandBuffer.h>
#include<hgl/graph/VKRenderPass.h>
#include<hgl/graph/VKFramebuffer.h>
#include<hgl/graph/VKRenderableInstance.h>
#include<hgl/graph/VKRenderable.h>
#include<hgl/graph/VKDeviceAttribute.h>
#include<hgl/graph/VKPhysicalDevice.h>
@ -101,7 +101,7 @@ bool RenderCmdBuffer::BeginRenderPass()
return(true);
}
bool RenderCmdBuffer::BindDescriptorSets(RenderableInstance *ri)
bool RenderCmdBuffer::BindDescriptorSets(Renderable *ri)
{
if(!ri)return(false);
@ -145,7 +145,7 @@ bool RenderCmdBuffer::BindDescriptorSets(RenderableInstance *ri)
return(true);
}
bool RenderCmdBuffer::BindVBO(RenderableInstance *ri)
bool RenderCmdBuffer::BindVBO(Renderable *ri)
{
if(!ri)
return(false);

View File

@ -1,6 +1,6 @@
#include<hgl/graph/VKRenderResource.h>
#include<hgl/graph/VKDevice.h>
#include<hgl/graph/VKRenderableInstance.h>
#include<hgl/graph/VKRenderable.h>
#include<hgl/graph/VKInlinePipeline.h>
#include<hgl/graph/VKVertexAttribBuffer.h>
@ -84,12 +84,12 @@ Primitive *RenderResource::CreatePrimitive(const uint32_t vertex_count)
return ro;
}
RenderableInstance *RenderResource::CreateRenderableInstance(Primitive *r,MaterialInstance *mi,Pipeline *p)
Renderable *RenderResource::CreateRenderable(Primitive *r,MaterialInstance *mi,Pipeline *p)
{
if(!p||!mi||!r)
return(nullptr);
RenderableInstance *ri=VK_NAMESPACE::CreateRenderableInstance(r,mi,p);
Renderable *ri=VK_NAMESPACE::CreateRenderable(r,mi,p);
if(ri)
Add(ri);

View File

@ -1,4 +1,4 @@
#include<hgl/graph/VKRenderableInstance.h>
#include<hgl/graph/VKRenderable.h>
#include<hgl/graph/VKMaterialInstance.h>
#include<hgl/graph/VKMaterialParameters.h>
#include<hgl/graph/VKMaterial.h>
@ -8,7 +8,7 @@
VK_NAMESPACE_BEGIN
using namespace util;
RenderableInstance::RenderableInstance(Primitive *r,MaterialInstance *mi,Pipeline *p,const uint32_t count,VkBuffer *bl,VkDeviceSize *bs)
Renderable::Renderable(Primitive *r,MaterialInstance *mi,Pipeline *p,const uint32_t count,VkBuffer *bl,VkDeviceSize *bs)
{
primitive=r;
pipeline=p;
@ -24,7 +24,7 @@ RenderableInstance::RenderableInstance(Primitive *r,MaterialInstance *mi,Pipelin
buffer_hash=0;
}
RenderableInstance::~RenderableInstance()
Renderable::~Renderable()
{
//需要在这里添加删除pipeline/desc_sets/primitive引用计数的代码
@ -32,7 +32,7 @@ RenderableInstance::~RenderableInstance()
delete[] buffer_size;
}
RenderableInstance *CreateRenderableInstance(Primitive *r,MaterialInstance *mi,Pipeline *p)
Renderable *CreateRenderable(Primitive *r,MaterialInstance *mi,Pipeline *p)
{
if(!r||!mi||!p)return(nullptr);
@ -92,7 +92,7 @@ RenderableInstance *CreateRenderableInstance(Primitive *r,MaterialInstance *mi,P
++attr_list;
}
RenderableInstance *ri=new RenderableInstance(r,mi,p,input_count,buffer_list,buffer_size);
Renderable *ri=new Renderable(r,mi,p,input_count,buffer_list,buffer_size);
buffer_list.Discard();
buffer_size.Discard();
return ri;

View File

@ -93,7 +93,7 @@ VAB *VertexShaderModule::CreateVAB(const VABConfigInfo *cfg)
attr->offset =0;
bind->binding =i; //binding对应在vkCmdBindVertexBuffer中设置的缓冲区的序列号所以这个数字必须从0开始而且紧密排列。
//在RenderableInstance类中buffer_list必需严格按照本此binding为序列号排列
//在Renderable类中buffer_list必需严格按照本此binding为序列号排列
if(!cfg||!cfg->Get((*si)->name,vac))
{

View File

@ -174,9 +174,9 @@ namespace hgl
return true;
}
RenderableInstance *TextRender::CreateRenderableInstance(TextPrimitive *text_render_obj)
Renderable *TextRender::CreateRenderable(TextPrimitive *text_render_obj)
{
return db->CreateRenderableInstance(text_render_obj,material_instance,pipeline);
return db->CreateRenderable(text_render_obj,material_instance,pipeline);
}
void TextRender::Release(TextPrimitive *tr)