want to split RenderList2D/3D
This commit is contained in:
parent
5f830b8d57
commit
160ba000d3
@ -13,7 +13,6 @@ namespace hgl
|
|||||||
{
|
{
|
||||||
namespace graph
|
namespace graph
|
||||||
{
|
{
|
||||||
using MVPArrayBuffer=GPUArrayBuffer<MVPMatrix>;
|
|
||||||
using MaterialSets=SortedSets<Material *>;
|
using MaterialSets=SortedSets<Material *>;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -22,13 +21,13 @@ namespace hgl
|
|||||||
*/
|
*/
|
||||||
class RenderList
|
class RenderList
|
||||||
{
|
{
|
||||||
|
protected:
|
||||||
|
|
||||||
GPUDevice * device;
|
GPUDevice * device;
|
||||||
RenderCmdBuffer *cmd_buf;
|
RenderCmdBuffer *cmd_buf;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
CameraInfo camera_info;
|
|
||||||
|
|
||||||
RenderNodeList render_node_list; ///<场景节点列表
|
RenderNodeList render_node_list; ///<场景节点列表
|
||||||
MaterialSets material_sets; ///<材质合集
|
MaterialSets material_sets; ///<材质合集
|
||||||
|
|
||||||
@ -36,7 +35,6 @@ namespace hgl
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
MVPArrayBuffer *mvp_array;
|
|
||||||
List<Renderable *> ri_list;
|
List<Renderable *> ri_list;
|
||||||
|
|
||||||
VkDescriptorSet ds_list[DESCRIPTOR_SET_TYPE_COUNT];
|
VkDescriptorSet ds_list[DESCRIPTOR_SET_TYPE_COUNT];
|
||||||
@ -68,6 +66,29 @@ namespace hgl
|
|||||||
|
|
||||||
virtual bool Render(RenderCmdBuffer *);
|
virtual bool Render(RenderCmdBuffer *);
|
||||||
};//class RenderList
|
};//class RenderList
|
||||||
|
|
||||||
|
class RenderList2D:public RenderList
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
class RenderList3D:public RenderList
|
||||||
|
{
|
||||||
|
protected:
|
||||||
|
|
||||||
|
CameraInfo camera_info;
|
||||||
|
GPUArrayBuffer *mvp_array;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
virtual bool Begin() override;
|
||||||
|
virtual bool Expend(SceneNode *) override;
|
||||||
|
virtual void End() override;
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
RenderList3D();
|
||||||
|
virtual ~RenderList3D() override;
|
||||||
|
};
|
||||||
}//namespace graph
|
}//namespace graph
|
||||||
}//namespace hgl
|
}//namespace hgl
|
||||||
#endif//HGL_GRAPH_RENDER_LIST_INCLUDE
|
#endif//HGL_GRAPH_RENDER_LIST_INCLUDE
|
||||||
|
@ -81,10 +81,6 @@ namespace hgl
|
|||||||
device =dev;
|
device =dev;
|
||||||
cmd_buf =nullptr;
|
cmd_buf =nullptr;
|
||||||
|
|
||||||
hgl_zero(camera_info);
|
|
||||||
|
|
||||||
mvp_array =new MVPArrayBuffer(device,VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT);
|
|
||||||
|
|
||||||
ubo_offset =0;
|
ubo_offset =0;
|
||||||
ubo_align =0;
|
ubo_align =0;
|
||||||
|
|
||||||
@ -95,13 +91,11 @@ namespace hgl
|
|||||||
|
|
||||||
RenderList::~RenderList()
|
RenderList::~RenderList()
|
||||||
{
|
{
|
||||||
delete mvp_array;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool RenderList::Begin()
|
bool RenderList::Begin()
|
||||||
{
|
{
|
||||||
render_node_list.ClearData();
|
render_node_list.ClearData();
|
||||||
mvp_array->Clear();
|
|
||||||
ri_list.ClearData();
|
ri_list.ClearData();
|
||||||
|
|
||||||
material_sets.ClearData();
|
material_sets.ClearData();
|
||||||
|
37
src/SceneGraph/RenderList3D.cpp
Normal file
37
src/SceneGraph/RenderList3D.cpp
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
#include<hgl/graph/RenderList.h>
|
||||||
|
|
||||||
|
namespace hgl
|
||||||
|
{
|
||||||
|
namespace graph
|
||||||
|
{
|
||||||
|
RenderList3D::RenderList3D()
|
||||||
|
{
|
||||||
|
hgl_zero(camera_info);
|
||||||
|
|
||||||
|
mvp_array =new GPUArrayBuffer(device,VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT,MVPMatrixBytes);
|
||||||
|
}
|
||||||
|
|
||||||
|
RenderList3D::~RenderList3D()
|
||||||
|
{
|
||||||
|
delete mvp_array;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool RenderList3D::Begin()
|
||||||
|
{
|
||||||
|
if(!RenderList::Begin())
|
||||||
|
return(false);
|
||||||
|
|
||||||
|
mvp_array->Clear();
|
||||||
|
|
||||||
|
return(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool RenderList3D::Expend(SceneNode *)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void RenderList3D::End()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}//namespace graph
|
||||||
|
}//namespace hgl
|
Loading…
x
Reference in New Issue
Block a user