upgraded InlineGeometry, removed RenderResource::CreatePrimitive.

This commit is contained in:
2024-05-25 01:48:15 +08:00
parent 299d3bd019
commit 6de3cf789a
6 changed files with 66 additions and 100 deletions

View File

@@ -21,12 +21,12 @@ namespace hgl
RectScope2f scope;
};//struct RectangleCreateInfo
Primitive *CreateRectangle(RenderResource *db,const VIL *vil,const RectangleCreateInfo *rci);
Primitive *CreateRectangle(GPUDevice *device,const VIL *vil,const RectangleCreateInfo *rci);
/**
* 创建延迟渲染用全屏平面
*/
Primitive *CreateGBufferCompositionRectangle(RenderResource *db,const VIL *vil);
Primitive *CreateGBufferCompositionRectangle(GPUDevice *device,const VIL *vil);
/**
* 圆角矩形创建信息(扇形/线圈)
@@ -37,7 +37,7 @@ namespace hgl
uint32_t round_per; ///<圆角精度
};//struct RoundRectangleCreateInfo:public RectangleCreateInfo
Primitive *CreateRoundRectangle(RenderResource *db,const VIL *vil,const RoundRectangleCreateInfo *rci);
Primitive *CreateRoundRectangle(GPUDevice *device,const VIL *vil,const RoundRectangleCreateInfo *rci);
/**
* 圆形创建信息
@@ -57,7 +57,7 @@ namespace hgl
/**
* 创建一个2D圆形(扇形/线圈)
*/
Primitive *CreateCircle(RenderResource *db,const VIL *vil,const CircleCreateInfo *cci);
Primitive *CreateCircle(GPUDevice *device,const VIL *vil,const CircleCreateInfo *cci);
/**
* 平面网格创建信息<br>
@@ -76,12 +76,12 @@ namespace hgl
/**
* 创建一个平面网格(线条)
*/
Primitive *CreatePlaneGrid(RenderResource *db,const VIL *vil,const PlaneGridCreateInfo *pgci);
Primitive *CreatePlaneGrid(GPUDevice *device,const VIL *vil,const PlaneGridCreateInfo *pgci);
/**
* 创建一个平面(三角形)
*/
Primitive *CreatePlane(RenderResource *db,const VIL *vil);
Primitive *CreatePlane(GPUDevice *device,const VIL *vil);
struct CubeCreateInfo
{
@@ -117,7 +117,7 @@ namespace hgl
/**
* 创建一个立方体(三角形)
*/
Primitive *CreateCube(RenderResource *db,const VIL *vil,const CubeCreateInfo *cci);
Primitive *CreateCube(GPUDevice *device,const VIL *vil,const CubeCreateInfo *cci);
struct BoundingBoxCreateInfo
{
@@ -148,17 +148,17 @@ namespace hgl
/**
* 创建一个绑定盒(线条)
*/
Primitive *CreateBoundingBox(RenderResource *db,const VIL *vil,const BoundingBoxCreateInfo *cci);
Primitive *CreateBoundingBox(GPUDevice *device,const VIL *vil,const BoundingBoxCreateInfo *cci);
/**
* 创建一个球心坐标为0,0,0半径为1的球体(三角形)
*/
Primitive *CreateSphere(RenderResource *db,const VIL *vil,const uint numberSlices);
Primitive *CreateSphere(GPUDevice *device,const VIL *vil,const uint numberSlices);
/**
* 创建一个穹顶(三角形)
*/
Primitive *CreateDome(RenderResource *db,const VIL *vil, const uint numberSlices);
Primitive *CreateDome(GPUDevice *device,const VIL *vil, const uint numberSlices);
struct TorusCreateInfo
{
@@ -174,7 +174,7 @@ namespace hgl
/**
* 创建一个圆环(三角形)
*/
Primitive *CreateTorus(RenderResource *db,const VIL *vil,const TorusCreateInfo *tci);
Primitive *CreateTorus(GPUDevice *device,const VIL *vil,const TorusCreateInfo *tci);
struct CylinderCreateInfo
{
@@ -186,7 +186,7 @@ namespace hgl
/**
* 创建一个圆柱(三角形)
*/
Primitive *CreateCylinder(RenderResource *db,const VIL *vil,const CylinderCreateInfo *cci);
Primitive *CreateCylinder(GPUDevice *device,const VIL *vil,const CylinderCreateInfo *cci);
struct ConeCreateInfo
{
@@ -199,7 +199,7 @@ namespace hgl
/**
* 创建一个圆锥(三角形)
*/
Primitive *CreateCone(RenderResource *db,const VIL *vil,const ConeCreateInfo *cci);
Primitive *CreateCone(GPUDevice *device,const VIL *vil,const ConeCreateInfo *cci);
struct AxisCreateInfo
{
@@ -220,7 +220,7 @@ namespace hgl
/**
* 创建一个坐标线(线条)
*/
Primitive *CreateAxis(RenderResource *db,const VIL *vil,const AxisCreateInfo *aci);
Primitive *CreateAxis(GPUDevice *device,const VIL *vil,const AxisCreateInfo *aci);
}//namespace inline_geometry
}//namespace graph
};//namespace hgl

View File

@@ -92,7 +92,7 @@ public:
{}
virtual ~RenderResource()=default;
public: //Add
public: //添加数据到管理器如果指针为nullptr会返回-1
MaterialID Add(Material * mtl ){return rm_material.Add(mtl);}
MaterialInstanceID Add(MaterialInstance * mi ){return rm_material_instance.Add(mi);}
@@ -147,9 +147,6 @@ public: //Material
MaterialInstance * CreateMaterialInstance(const mtl::MaterialCreateInfo *,const VILConfig *vil_cfg=nullptr);
Primitive * CreatePrimitive( const AnsiString &,PrimitiveData *);
Primitive * CreatePrimitive(VertexDataManager *,const AnsiString &,PrimitiveData *);
Renderable * CreateRenderable(Primitive *r,MaterialInstance *mi,Pipeline *p);
Sampler * CreateSampler(VkSamplerCreateInfo *sci=nullptr);