ULRE/inc/hgl/graph/InlineGeometry.h

88 lines
2.6 KiB
C
Raw Normal View History

2019-05-24 19:28:27 +08:00
#ifndef HGL_GRAPH_INLINE_GEOMETRY_INCLUDE
#define HGL_GRAPH_INLINE_GEOMETRY_INCLUDE
#include<hgl/graph/vulkan/VK.h>
#include<hgl/math/Vector.h>
#include<hgl/type/RectScope.h>
namespace hgl
{
namespace graph
{
class SceneDB;
2019-05-24 19:28:27 +08:00
/**
*
*/
struct RectangleCreateInfo
{
RectScope2f scope;
2019-05-27 22:48:01 +08:00
};//struct RectangleCreateInfo
2019-05-24 19:28:27 +08:00
vulkan::Renderable *CreateRectangle(SceneDB *db,vulkan::Material *mtl,const RectangleCreateInfo *rci);
2019-05-24 19:28:27 +08:00
/**
*
*/
struct RoundRectangleCreateInfo:public RectangleCreateInfo
{
2019-05-27 22:48:01 +08:00
float radius; ///<圆角半径
uint32_t round_per; ///<圆角精度
};//struct RoundRectangleCreateInfo:public RectangleCreateInfo
2019-05-24 19:28:27 +08:00
vulkan::Renderable *CreateRoundRectangle(SceneDB *db,vulkan::Material *mtl,const RoundRectangleCreateInfo *rci);
2019-05-24 19:28:27 +08:00
/**
*
*/
2019-05-27 22:48:01 +08:00
struct CircleCreateInfo
{
Vector2f center; ///<圆心坐标
Vector2f radius; ///<半径
uint field_count; ///<分段次数
};//struct CircleCreateInfo
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,01
*/
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 );
2019-05-24 19:28:27 +08:00
}//namespace graph
};//namespace hgl
#endif//HGL_GRAPH_INLINE_GEOMETRY_INCLUDE