增加若干内嵌几何体

This commit is contained in:
2019-05-27 22:48:01 +08:00
parent 8ce7bceee0
commit 4fdbe6a686
4 changed files with 504 additions and 11 deletions

View File

@@ -16,7 +16,7 @@ namespace hgl
struct RectangleCreateInfo
{
RectScope2f scope;
};
};//struct RectangleCreateInfo
vulkan::Renderable *CreateRectangle(SceneDB *db,vulkan::Material *mtl,const RectangleCreateInfo *rci);
@@ -25,23 +25,63 @@ namespace hgl
*/
struct RoundRectangleCreateInfo:public RectangleCreateInfo
{
float radius; //圆角半径
uint32_t round_per; //圆角精度
};
float radius; ///<圆角半径
uint32_t round_per; ///<圆角精度
};//struct RoundRectangleCreateInfo:public RectangleCreateInfo
vulkan::Renderable *CreateRoundRectangle(SceneDB *db,vulkan::Material *mtl,const RoundRectangleCreateInfo *rci);
/**
* 圆形创建信息
*/
struct CircleCreateInfo
{
Vector2f center; //圆心坐标
Vector2f radius; //半径
uint field_count; //分段次数
};
struct CircleCreateInfo
{
Vector2f center; ///<圆心坐标
Vector2f radius; ///<半径
uint field_count; ///<分段次数
};//struct CircleCreateInfo
vulkan::Renderable *CreateCircle(SceneDB *db,vulkan::Material *mtl,const CircleCreateInfo *rci);
vulkan::Renderable *CreateCircle(SceneDB *db,vulkan::Material *mtl,const CircleCreateInfo *rci);
/**
* 平面网格创建信息
*/
struct PlaneGridCreateInfo
{
Vector3f coord[4];
vec2<uint> step;
};//struct PlaneGridCreateInfo
vulkan::Renderable *CreatePlaneGrid(SceneDB *db,vulkan::Material *mtl,const PlaneGridCreateInfo *pgci);
struct PlaneCreateInfo
{
Vector2f tile;
};//struct PlaneCreateInfo
vulkan::Renderable *CreatePlane(SceneDB *db,vulkan::Material *mtl,const PlaneCreateInfo *pci);
struct CubeCreateInfo
{
Vector2f tile;
};//struct CubeCreateInfo
/**
* 创建一个中心坐标为0,0,0长宽高为1的立方体
*/
vulkan::Renderable *CreateCube(SceneDB *db,vulkan::Material *mtl,const CubeCreateInfo *cci);
struct BoundingBoxCreateInfo
{
AABB bounding_box;
};//
/**
* 创建一个空心立方体,使用绑定盒的真实坐标
*/
vulkan::Renderable *CreateBoundingBox(SceneDB *db,vulkan::Material *mtl,const BoundingBoxCreateInfo *bbci);
//vulkan::Renderable *CreateSphere(SceneDB *db,vulkan::Material *mtl,const uint );
}//namespace graph
};//namespace hgl
#endif//HGL_GRAPH_INLINE_GEOMETRY_INCLUDE