rename from SceneDB to Database

This commit is contained in:
hyzboy 2020-09-02 18:18:57 +08:00
parent 8dbd0b3f2f
commit 79a7c158a8
9 changed files with 50 additions and 50 deletions

View File

@ -2,7 +2,7 @@
// 该范例有两个作用: // 该范例有两个作用:
// 一、测试绘制2D几何体 // 一、测试绘制2D几何体
// 二、试验动态合并材质渲染机制 // 二、试验动态合并材质渲染机制
// 三、试验SceneDB/SceneGraph // 三、试验Database/SceneGraph
#include"VulkanAppFramework.h" #include"VulkanAppFramework.h"
#include<hgl/filesystem/FileSystem.h> #include<hgl/filesystem/FileSystem.h>

View File

@ -23,7 +23,7 @@ using namespace hgl::graph;
constexpr uint32_t SCREEN_WIDTH=1280; constexpr uint32_t SCREEN_WIDTH=1280;
constexpr uint32_t SCREEN_HEIGHT=720; constexpr uint32_t SCREEN_HEIGHT=720;
vulkan::Renderable *CreateMeshRenderable(SceneDB *db,vulkan::Material *mtl,const MeshData *mesh) vulkan::Renderable *CreateMeshRenderable(Database *db,vulkan::Material *mtl,const MeshData *mesh)
{ {
const vulkan::VertexShaderModule *vsm=mtl->GetVertexShaderModule(); const vulkan::VertexShaderModule *vsm=mtl->GetVertexShaderModule();

View File

@ -63,7 +63,7 @@ protected:
protected: protected:
SceneDB * db =nullptr; Database * db =nullptr;
bool key_status[kbRangeSize]; bool key_status[kbRangeSize];
@ -127,7 +127,7 @@ public:
render_complete_semaphore =device->CreateSem(); render_complete_semaphore =device->CreateSem();
shader_manage=device->CreateShaderModuleManage(); shader_manage=device->CreateShaderModuleManage();
db=new SceneDB(device); db=new Database(device);
InitCommandBuffer(); InitCommandBuffer();

View File

@ -9,7 +9,7 @@ namespace hgl
{ {
namespace graph namespace graph
{ {
class SceneDB; class Database;
/** /**
* (/) * (/)
@ -19,12 +19,12 @@ namespace hgl
RectScope2f scope; RectScope2f scope;
};//struct RectangleCreateInfo };//struct RectangleCreateInfo
vulkan::Renderable *CreateRenderableRectangle(SceneDB *db,vulkan::Material *mtl,const RectangleCreateInfo *rci); vulkan::Renderable *CreateRenderableRectangle(Database *db,vulkan::Material *mtl,const RectangleCreateInfo *rci);
/** /**
* *
*/ */
vulkan::Renderable *CreateRenderableGBufferComposition(SceneDB *db,vulkan::Material *mtl); vulkan::Renderable *CreateRenderableGBufferComposition(Database *db,vulkan::Material *mtl);
/** /**
* (/线) * (/线)
@ -35,7 +35,7 @@ namespace hgl
uint32_t round_per; ///<圆角精度 uint32_t round_per; ///<圆角精度
};//struct RoundRectangleCreateInfo:public RectangleCreateInfo };//struct RoundRectangleCreateInfo:public RectangleCreateInfo
vulkan::Renderable *CreateRenderableRoundRectangle(SceneDB *db,vulkan::Material *mtl,const RoundRectangleCreateInfo *rci); vulkan::Renderable *CreateRenderableRoundRectangle(Database *db,vulkan::Material *mtl,const RoundRectangleCreateInfo *rci);
/** /**
* *
@ -50,7 +50,7 @@ namespace hgl
/** /**
* 2D圆形(/线) * 2D圆形(/线)
*/ */
vulkan::Renderable *CreateRenderableCircle(SceneDB *db,vulkan::Material *mtl,const CircleCreateInfo *rci); vulkan::Renderable *CreateRenderableCircle(Database *db,vulkan::Material *mtl,const CircleCreateInfo *rci);
/** /**
* *
@ -69,7 +69,7 @@ namespace hgl
/** /**
* (线) * (线)
*/ */
vulkan::Renderable *CreateRenderablePlaneGrid(SceneDB *db,vulkan::Material *mtl,const PlaneGridCreateInfo *pgci); vulkan::Renderable *CreateRenderablePlaneGrid(Database *db,vulkan::Material *mtl,const PlaneGridCreateInfo *pgci);
struct PlaneCreateInfo struct PlaneCreateInfo
{ {
@ -86,7 +86,7 @@ namespace hgl
/** /**
* () * ()
*/ */
vulkan::Renderable *CreateRenderablePlane(SceneDB *db,vulkan::Material *mtl,const PlaneCreateInfo *pci); vulkan::Renderable *CreateRenderablePlane(Database *db,vulkan::Material *mtl,const PlaneCreateInfo *pci);
struct CubeCreateInfo struct CubeCreateInfo
{ {
@ -126,17 +126,17 @@ namespace hgl
/** /**
* () * ()
*/ */
vulkan::Renderable *CreateRenderableCube(SceneDB *db,vulkan::Material *mtl,const CubeCreateInfo *cci); vulkan::Renderable *CreateRenderableCube(Database *db,vulkan::Material *mtl,const CubeCreateInfo *cci);
/** /**
* (线) * (线)
*/ */
vulkan::Renderable *CreateRenderableBoundingBox(SceneDB *db,vulkan::Material *mtl,const CubeCreateInfo *cci); vulkan::Renderable *CreateRenderableBoundingBox(Database *db,vulkan::Material *mtl,const CubeCreateInfo *cci);
/** /**
* 0,0,01() * 0,0,01()
*/ */
vulkan::Renderable *CreateRenderableSphere(SceneDB *db,vulkan::Material *mtl,const uint numberSlices); vulkan::Renderable *CreateRenderableSphere(Database *db,vulkan::Material *mtl,const uint numberSlices);
struct DomeCreateInfo struct DomeCreateInfo
{ {
@ -147,7 +147,7 @@ namespace hgl
/** /**
* () * ()
*/ */
vulkan::Renderable *CreateRenderableDome(SceneDB *db,vulkan::Material *mtl, const DomeCreateInfo *); vulkan::Renderable *CreateRenderableDome(Database *db,vulkan::Material *mtl, const DomeCreateInfo *);
struct TorusCreateInfo struct TorusCreateInfo
{ {
@ -161,7 +161,7 @@ namespace hgl
/** /**
* () * ()
*/ */
vulkan::Renderable *CreateRenderableTorus(SceneDB *db,vulkan::Material *mtl,const TorusCreateInfo *tci); vulkan::Renderable *CreateRenderableTorus(Database *db,vulkan::Material *mtl,const TorusCreateInfo *tci);
struct CylinderCreateInfo struct CylinderCreateInfo
{ {
@ -173,7 +173,7 @@ namespace hgl
/** /**
* () * ()
*/ */
vulkan::Renderable *CreateRenderableCylinder(SceneDB *db,vulkan::Material *mtl,const CylinderCreateInfo *cci); vulkan::Renderable *CreateRenderableCylinder(Database *db,vulkan::Material *mtl,const CylinderCreateInfo *cci);
struct ConeCreateInfo struct ConeCreateInfo
{ {
@ -186,7 +186,7 @@ namespace hgl
/** /**
* () * ()
*/ */
vulkan::Renderable *CreateRenderableCone(SceneDB *db,vulkan::Material *mtl,const ConeCreateInfo *cci); vulkan::Renderable *CreateRenderableCone(Database *db,vulkan::Material *mtl,const ConeCreateInfo *cci);
struct AxisCreateInfo struct AxisCreateInfo
{ {
@ -226,7 +226,7 @@ namespace hgl
/** /**
* 线(线) * 线(线)
*/ */
vulkan::Renderable *CreateRenderableAxis(SceneDB *db,vulkan::Material *mtl,const AxisCreateInfo *aci); vulkan::Renderable *CreateRenderableAxis(Database *db,vulkan::Material *mtl,const AxisCreateInfo *aci);
}//namespace graph }//namespace graph
};//namespace hgl };//namespace hgl
#endif//HGL_GRAPH_INLINE_GEOMETRY_INCLUDE #endif//HGL_GRAPH_INLINE_GEOMETRY_INCLUDE

View File

@ -32,7 +32,7 @@ namespace hgl
{ {
protected: protected:
vulkan::SceneDB *db; vulkan::Database *db;
vulkan::Material *mtl; vulkan::Material *mtl;
const vulkan::VertexShaderModule *vsm; const vulkan::VertexShaderModule *vsm;
@ -50,7 +50,7 @@ namespace hgl
public: public:
RenderableCreater(vulkan::SceneDB *sdb,vulkan::Material *m); RenderableCreater(vulkan::Database *sdb,vulkan::Material *m);
virtual ~RenderableCreater()=default; virtual ~RenderableCreater()=default;
virtual bool Init(const uint32 count); ///<初始化,参数为顶点数量 virtual bool Init(const uint32 count); ///<初始化,参数为顶点数量

View File

@ -27,9 +27,9 @@ using TextureID =int;
class VertexAttribData; class VertexAttribData;
/** /**
* DB *
*/ */
class SceneDB class Database
{ {
Device *device; Device *device;
@ -45,8 +45,8 @@ class SceneDB
public: public:
SceneDB(Device *dev):device(dev){} Database(Device *dev):device(dev){}
virtual ~SceneDB()=default; virtual ~Database()=default;
public: //Add public: //Add
@ -102,6 +102,6 @@ public: //Get
Sampler * GetSampler (const SamplerID &id){return rm_samplers.Get(id);} Sampler * GetSampler (const SamplerID &id){return rm_samplers.Get(id);}
Texture * GetTexture (const TextureID &id){return rm_textures.Get(id);} Texture * GetTexture (const TextureID &id){return rm_textures.Get(id);}
RenderableInstance *GetRenderableInstance (const RenderableInstanceID &id){return rm_renderable_instances.Get(id);} RenderableInstance *GetRenderableInstance (const RenderableInstanceID &id){return rm_renderable_instances.Get(id);}
};//class SceneDB };//class Database
VK_NAMESPACE_END VK_NAMESPACE_END
#endif//HGL_GRAPH_VULKAN_DATABASE_INCLUDE #endif//HGL_GRAPH_VULKAN_DATABASE_INCLUDE

View File

@ -3,7 +3,7 @@
#include<hgl/graph/RenderableInstance.h> #include<hgl/graph/RenderableInstance.h>
VK_NAMESPACE_BEGIN VK_NAMESPACE_BEGIN
VAB *SceneDB::CreateVAB(VkFormat format,uint32_t count,const void *data,VkSharingMode sharing_mode) VAB *Database::CreateVAB(VkFormat format,uint32_t count,const void *data,VkSharingMode sharing_mode)
{ {
VAB *vb=device->CreateVAB(format,count,data,sharing_mode); VAB *vb=device->CreateVAB(format,count,data,sharing_mode);
@ -15,7 +15,7 @@ VAB *SceneDB::CreateVAB(VkFormat format,uint32_t count,const void *data,VkSharin
return vb; return vb;
} }
#define SCENE_DB_CREATE_BUFFER(name) Buffer *SceneDB::Create##name(VkDeviceSize size,void *data,VkSharingMode sharing_mode) \ #define SCENE_DB_CREATE_BUFFER(name) Buffer *Database::Create##name(VkDeviceSize size,void *data,VkSharingMode sharing_mode) \
{ \ { \
Buffer *buf=device->Create##name(size,data,sharing_mode); \ Buffer *buf=device->Create##name(size,data,sharing_mode); \
\ \
@ -24,7 +24,7 @@ VAB *SceneDB::CreateVAB(VkFormat format,uint32_t count,const void *data,VkSharin
return(buf); \ return(buf); \
} \ } \
\ \
Buffer *SceneDB::Create##name(VkDeviceSize size,VkSharingMode sharing_mode) \ Buffer *Database::Create##name(VkDeviceSize size,VkSharingMode sharing_mode) \
{ \ { \
Buffer *buf=device->Create##name(size,sharing_mode); \ Buffer *buf=device->Create##name(size,sharing_mode); \
\ \
@ -39,7 +39,7 @@ VAB *SceneDB::CreateVAB(VkFormat format,uint32_t count,const void *data,VkSharin
#undef SCENE_DB_CREATE_BUFFER #undef SCENE_DB_CREATE_BUFFER
IndexBuffer *SceneDB::CreateIBO(VkIndexType index_type,uint32_t count,const void *data,VkSharingMode sharing_mode) IndexBuffer *Database::CreateIBO(VkIndexType index_type,uint32_t count,const void *data,VkSharingMode sharing_mode)
{ {
IndexBuffer *buf=device->CreateIBO(index_type,count,data,sharing_mode); IndexBuffer *buf=device->CreateIBO(index_type,count,data,sharing_mode);
@ -48,7 +48,7 @@ IndexBuffer *SceneDB::CreateIBO(VkIndexType index_type,uint32_t count,const void
return(buf); return(buf);
} }
MaterialInstance *SceneDB::CreateMaterialInstance(Material *mtl) MaterialInstance *Database::CreateMaterialInstance(Material *mtl)
{ {
if(!mtl)return(nullptr); if(!mtl)return(nullptr);
@ -60,7 +60,7 @@ MaterialInstance *SceneDB::CreateMaterialInstance(Material *mtl)
return mi; return mi;
} }
Renderable *SceneDB::CreateRenderable(Material *mtl,const uint32_t vertex_count) Renderable *Database::CreateRenderable(Material *mtl,const uint32_t vertex_count)
{ {
if(!mtl)return(nullptr); if(!mtl)return(nullptr);
@ -72,7 +72,7 @@ Renderable *SceneDB::CreateRenderable(Material *mtl,const uint32_t vertex_count)
return ro; return ro;
} }
TextRenderable *SceneDB::CreateTextRenderable(Material *mtl) TextRenderable *Database::CreateTextRenderable(Material *mtl)
{ {
if(!mtl)return(nullptr); if(!mtl)return(nullptr);
@ -84,7 +84,7 @@ TextRenderable *SceneDB::CreateTextRenderable(Material *mtl)
return tr; return tr;
} }
RenderableInstance *SceneDB::CreateRenderableInstance(Pipeline *p,MaterialInstance *mi,Renderable *r) RenderableInstance *Database::CreateRenderableInstance(Pipeline *p,MaterialInstance *mi,Renderable *r)
{ {
if(!p||!mi||!r) if(!p||!mi||!r)
return(nullptr); return(nullptr);
@ -97,7 +97,7 @@ RenderableInstance *SceneDB::CreateRenderableInstance(Pipeline *p,MaterialInstan
return ri; return ri;
} }
Sampler *SceneDB::CreateSampler(VkSamplerCreateInfo *sci) Sampler *Database::CreateSampler(VkSamplerCreateInfo *sci)
{ {
Sampler *s=device->CreateSampler(sci); Sampler *s=device->CreateSampler(sci);

View File

@ -12,7 +12,7 @@ namespace hgl
{ {
namespace graph namespace graph
{ {
vulkan::Renderable *CreateRenderableRectangle(vulkan::SceneDB *db,vulkan::Material *mtl,const RectangleCreateInfo *rci) vulkan::Renderable *CreateRenderableRectangle(vulkan::Database *db,vulkan::Material *mtl,const RectangleCreateInfo *rci)
{ {
RenderableCreater rc(db,mtl); RenderableCreater rc(db,mtl);
@ -29,7 +29,7 @@ namespace hgl
return rc.Finish(); return rc.Finish();
} }
vulkan::Renderable *CreateRenderableGBufferComposition(vulkan::SceneDB *db,vulkan::Material *mtl) vulkan::Renderable *CreateRenderableGBufferComposition(vulkan::Database *db,vulkan::Material *mtl)
{ {
RectangleCreateInfo rci; RectangleCreateInfo rci;
@ -38,7 +38,7 @@ namespace hgl
return CreateRenderableRectangle(db,mtl,&rci); return CreateRenderableRectangle(db,mtl,&rci);
} }
vulkan::Renderable *CreateRenderableRoundRectangle(vulkan::SceneDB *db,vulkan::Material *mtl,const RoundRectangleCreateInfo *rci) vulkan::Renderable *CreateRenderableRoundRectangle(vulkan::Database *db,vulkan::Material *mtl,const RoundRectangleCreateInfo *rci)
{ {
RenderableCreater rc(db,mtl); RenderableCreater rc(db,mtl);
@ -112,7 +112,7 @@ namespace hgl
return rc.Finish(); return rc.Finish();
} }
vulkan::Renderable *CreateRenderableCircle(vulkan::SceneDB *db,vulkan::Material *mtl,const CircleCreateInfo *cci) vulkan::Renderable *CreateRenderableCircle(vulkan::Database *db,vulkan::Material *mtl,const CircleCreateInfo *cci)
{ {
RenderableCreater rc(db,mtl); RenderableCreater rc(db,mtl);
@ -137,7 +137,7 @@ namespace hgl
return rc.Finish(); return rc.Finish();
} }
vulkan::Renderable *CreateRenderablePlaneGrid(vulkan::SceneDB *db,vulkan::Material *mtl,const PlaneGridCreateInfo *pgci) vulkan::Renderable *CreateRenderablePlaneGrid(vulkan::Database *db,vulkan::Material *mtl,const PlaneGridCreateInfo *pgci)
{ {
RenderableCreater rc(db,mtl); RenderableCreater rc(db,mtl);
@ -184,7 +184,7 @@ namespace hgl
return rc.Finish(); return rc.Finish();
} }
vulkan::Renderable *CreateRenderablePlane(vulkan::SceneDB *db,vulkan::Material *mtl,const PlaneCreateInfo *pci) vulkan::Renderable *CreateRenderablePlane(vulkan::Database *db,vulkan::Material *mtl,const PlaneCreateInfo *pci)
{ {
const float xy_vertices [] = { -0.5f,-0.5f,0.0f, +0.5f,-0.5f,0.0f, +0.5f,+0.5f,0.0f, -0.5f,+0.5f,0.0f }; const float xy_vertices [] = { -0.5f,-0.5f,0.0f, +0.5f,-0.5f,0.0f, +0.5f,+0.5f,0.0f, -0.5f,+0.5f,0.0f };
float xy_tex_coord[] = { 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, 1.0f, 0.0f, 1.0f }; float xy_tex_coord[] = { 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, 1.0f, 0.0f, 1.0f };
@ -225,7 +225,7 @@ namespace hgl
return rc.Finish(); return rc.Finish();
} }
vulkan::Renderable *CreateRenderableCube(vulkan::SceneDB *db,vulkan::Material *mtl,const CubeCreateInfo *cci) vulkan::Renderable *CreateRenderableCube(vulkan::Database *db,vulkan::Material *mtl,const CubeCreateInfo *cci)
{ // Points of a cube. { // Points of a cube.
/* 4 5 */ const float points[]={ -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, +0.5f, +0.5f, -0.5f, +0.5f, +0.5f, -0.5f, -0.5f, -0.5f, +0.5f, -0.5f, -0.5f, +0.5f, +0.5f, /* 4 5 */ const float points[]={ -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, +0.5f, +0.5f, -0.5f, +0.5f, +0.5f, -0.5f, -0.5f, -0.5f, +0.5f, -0.5f, -0.5f, +0.5f, +0.5f,
/* *------------* */ +0.5f, +0.5f, +0.5f, +0.5f, +0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, +0.5f, -0.5f, +0.5f, +0.5f, -0.5f, +0.5f, -0.5f, -0.5f, /* *------------* */ +0.5f, +0.5f, +0.5f, +0.5f, +0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, +0.5f, -0.5f, +0.5f, +0.5f, -0.5f, +0.5f, -0.5f, -0.5f,
@ -396,7 +396,7 @@ namespace hgl
* @param numberSlices * @param numberSlices
* @return * @return
*/ */
vulkan::Renderable *CreateRenderableSphere(vulkan::SceneDB *db,vulkan::Material *mtl,const uint numberSlices) vulkan::Renderable *CreateRenderableSphere(vulkan::Database *db,vulkan::Material *mtl,const uint numberSlices)
{ {
RenderableCreater rc(db,mtl); RenderableCreater rc(db,mtl);
@ -472,7 +472,7 @@ namespace hgl
return rc.Finish(); return rc.Finish();
} }
vulkan::Renderable *CreateRenderableDome(vulkan::SceneDB *db,vulkan::Material *mtl,const DomeCreateInfo *dci) vulkan::Renderable *CreateRenderableDome(vulkan::Database *db,vulkan::Material *mtl,const DomeCreateInfo *dci)
{ {
RenderableCreater rc(db,mtl); RenderableCreater rc(db,mtl);
@ -591,7 +591,7 @@ namespace hgl
} }
}//namespace }//namespace
vulkan::Renderable *CreateRenderableTorus(vulkan::SceneDB *db,vulkan::Material *mtl,const TorusCreateInfo *tci) vulkan::Renderable *CreateRenderableTorus(vulkan::Database *db,vulkan::Material *mtl,const TorusCreateInfo *tci)
{ {
RenderableCreater rc(db,mtl); RenderableCreater rc(db,mtl);
@ -747,7 +747,7 @@ namespace hgl
} }
}//namespace }//namespace
vulkan::Renderable *CreateRenderableCylinder(vulkan::SceneDB *db,vulkan::Material *mtl,const CylinderCreateInfo *cci) vulkan::Renderable *CreateRenderableCylinder(vulkan::Database *db,vulkan::Material *mtl,const CylinderCreateInfo *cci)
{ {
uint numberIndices = cci->numberSlices * 3 * 2 + cci->numberSlices * 6; uint numberIndices = cci->numberSlices * 3 * 2 + cci->numberSlices * 6;
@ -966,7 +966,7 @@ namespace hgl
} }
}//namespace }//namespace
vulkan::Renderable *CreateRenderableCone(vulkan::SceneDB *db,vulkan::Material *mtl,const ConeCreateInfo *cci) vulkan::Renderable *CreateRenderableCone(vulkan::Database *db,vulkan::Material *mtl,const ConeCreateInfo *cci)
{ {
RenderableCreater rc(db,mtl); RenderableCreater rc(db,mtl);
@ -1093,7 +1093,7 @@ namespace hgl
return rc.Finish(); return rc.Finish();
} }
vulkan::Renderable *CreateRenderableAxis(vulkan::SceneDB *db,vulkan::Material *mtl,const AxisCreateInfo *aci) vulkan::Renderable *CreateRenderableAxis(vulkan::Database *db,vulkan::Material *mtl,const AxisCreateInfo *aci)
{ {
RenderableCreater rc(db,mtl); RenderableCreater rc(db,mtl);
@ -1118,7 +1118,7 @@ namespace hgl
return rc.Finish(); return rc.Finish();
} }
vulkan::Renderable *CreateRenderableBoundingBox(vulkan::SceneDB *db,vulkan::Material *mtl,const CubeCreateInfo *cci) vulkan::Renderable *CreateRenderableBoundingBox(vulkan::Database *db,vulkan::Material *mtl,const CubeCreateInfo *cci)
{ {
// Points of a cube. // Points of a cube.
/* 4 5 */ const float points[]={ -0.5,-0.5, 0.5, 0.5,-0.5,0.5, 0.5,-0.5,-0.5, -0.5,-0.5,-0.5, /* 4 5 */ const float points[]={ -0.5,-0.5, 0.5, 0.5,-0.5,0.5, 0.5,-0.5,-0.5, -0.5,-0.5,-0.5,

View File

@ -5,7 +5,7 @@ namespace hgl
{ {
namespace graph namespace graph
{ {
RenderableCreater::RenderableCreater(vulkan::SceneDB *sdb,vulkan::Material *m) RenderableCreater::RenderableCreater(vulkan::Database *sdb,vulkan::Material *m)
{ {
db =sdb; db =sdb;
mtl =m; mtl =m;