renamed Renderable to Mesh
This commit is contained in:
parent
692eeff4a3
commit
014fce2c8e
@ -1 +1 @@
|
||||
Subproject commit 6da4b9973812162a966de0db505572f25f1caaca
|
||||
Subproject commit 9d9fad791d9c6569189bcc57dd4b219df62bc98a
|
@ -38,7 +38,7 @@ class TestApp:public VulkanApplicationFramework
|
||||
private:
|
||||
|
||||
MaterialInstance * material_instance =nullptr;
|
||||
Renderable * render_obj =nullptr;
|
||||
Mesh * render_obj =nullptr;
|
||||
|
||||
Pipeline * pipeline =nullptr;
|
||||
|
||||
|
@ -36,7 +36,7 @@ private:
|
||||
Camera cam;
|
||||
|
||||
MaterialInstance * material_instance =nullptr;
|
||||
Renderable * render_obj =nullptr;
|
||||
Mesh * render_obj =nullptr;
|
||||
DeviceBuffer * ubo_camera_info =nullptr;
|
||||
DeviceBuffer * ubo_color_material =nullptr;
|
||||
DeviceBuffer * ubo_line_config =nullptr;
|
||||
|
@ -42,7 +42,7 @@ private:
|
||||
Camera cam;
|
||||
|
||||
MaterialInstance * material_instance =nullptr;
|
||||
Renderable * render_obj =nullptr;
|
||||
Mesh * render_obj =nullptr;
|
||||
|
||||
DeviceBuffer * ubo_camera_info =nullptr;
|
||||
DeviceBuffer * ubo_rb_config =nullptr;
|
||||
|
@ -38,7 +38,7 @@ private:
|
||||
|
||||
MaterialInstance * mi_billboard =nullptr;
|
||||
Pipeline * pipeline_billboard =nullptr;
|
||||
Renderable * ro_billboard =nullptr;
|
||||
Mesh * ro_billboard =nullptr;
|
||||
|
||||
Texture2D * texture =nullptr;
|
||||
Sampler * sampler =nullptr;
|
||||
@ -110,13 +110,13 @@ private:
|
||||
return(true);
|
||||
}
|
||||
|
||||
Renderable *Add(Primitive *r,MaterialInstance *mi,Pipeline *p)
|
||||
Mesh *Add(Primitive *r,MaterialInstance *mi,Pipeline *p)
|
||||
{
|
||||
Renderable *ri=db->CreateRenderable(r,mi,p);
|
||||
Mesh *ri=db->CreateRenderable(r,mi,p);
|
||||
|
||||
if(!ri)
|
||||
{
|
||||
LOG_ERROR(OS_TEXT("Create Renderable failed."));
|
||||
LOG_ERROR(OS_TEXT("Create Mesh failed."));
|
||||
return(nullptr);
|
||||
}
|
||||
|
||||
|
@ -38,7 +38,7 @@ private:
|
||||
SceneNode render_root;
|
||||
|
||||
MaterialInstance * material_instance =nullptr;
|
||||
Renderable * render_obj =nullptr;
|
||||
Mesh * render_obj =nullptr;
|
||||
|
||||
Pipeline * pipeline =nullptr;
|
||||
|
||||
|
@ -38,7 +38,7 @@ private:
|
||||
struct
|
||||
{
|
||||
MaterialInstance * mi;
|
||||
Renderable * r;
|
||||
Mesh * r;
|
||||
}render_obj[DRAW_OBJECT_COUNT]{};
|
||||
|
||||
Pipeline * pipeline =nullptr;
|
||||
|
@ -68,7 +68,7 @@ private:
|
||||
#endif
|
||||
|
||||
MaterialInstance * material_instance =nullptr;
|
||||
Renderable * render_obj =nullptr;
|
||||
Mesh * render_obj =nullptr;
|
||||
|
||||
Pipeline * pipeline =nullptr;
|
||||
|
||||
|
@ -38,7 +38,7 @@ private:
|
||||
Color4f clear_color =Color4f(0.2f,0.2f,0.2f,1.0f);
|
||||
|
||||
MaterialInstance * material_instance =nullptr;
|
||||
Renderable * render_obj =nullptr;
|
||||
Mesh * render_obj =nullptr;
|
||||
|
||||
Pipeline * pipeline =nullptr;
|
||||
|
||||
|
@ -34,7 +34,7 @@ private:
|
||||
Color4f clear_color =Color4f(0.2f,0.2f,0.2f,1.0f);
|
||||
|
||||
MaterialInstance * material_instance =nullptr;
|
||||
Renderable * render_obj =nullptr;
|
||||
Mesh * render_obj =nullptr;
|
||||
|
||||
Pipeline * pipeline =nullptr;
|
||||
|
||||
|
@ -15,7 +15,7 @@ private:
|
||||
TextRender * text_render =nullptr;
|
||||
|
||||
TextPrimitive * text_primitive =nullptr;
|
||||
Renderable * render_obj =nullptr;
|
||||
Mesh * render_obj =nullptr;
|
||||
|
||||
public:
|
||||
|
||||
|
@ -34,7 +34,7 @@ enum class GizmoShape:uint
|
||||
bool InitGizmoResource(RenderResource *);
|
||||
void FreeGizmoResource();
|
||||
|
||||
Renderable *GetGizmoRenderable(const GizmoShape &shape,const GizmoColor &color);
|
||||
Mesh *GetGizmoRenderable(const GizmoShape &shape,const GizmoColor &color);
|
||||
|
||||
StaticMesh *GetGizmoMoveStaticMesh();
|
||||
StaticMesh *GetGizmoScaleStaticMesh();
|
||||
|
@ -45,22 +45,22 @@ void ClearGizmoMoveStaticMesh()
|
||||
|
||||
bool InitGizmoMoveStaticMesh()
|
||||
{
|
||||
Renderable *sphere=GetGizmoRenderable(GizmoShape::Sphere,GizmoColor::White);
|
||||
Renderable *cylinder[3]
|
||||
Mesh *sphere=GetGizmoRenderable(GizmoShape::Sphere,GizmoColor::White);
|
||||
Mesh *cylinder[3]
|
||||
{
|
||||
GetGizmoRenderable(GizmoShape::Cylinder,GizmoColor::Red),
|
||||
GetGizmoRenderable(GizmoShape::Cylinder,GizmoColor::Green),
|
||||
GetGizmoRenderable(GizmoShape::Cylinder,GizmoColor::Blue),
|
||||
};
|
||||
|
||||
Renderable *cone[3]
|
||||
Mesh *cone[3]
|
||||
{
|
||||
GetGizmoRenderable(GizmoShape::Cone,GizmoColor::Red),
|
||||
GetGizmoRenderable(GizmoShape::Cone,GizmoColor::Green),
|
||||
GetGizmoRenderable(GizmoShape::Cone,GizmoColor::Blue),
|
||||
};
|
||||
|
||||
Renderable *circle[3]=
|
||||
Mesh *circle[3]=
|
||||
{
|
||||
GetGizmoRenderable(GizmoShape::Circle,GizmoColor::Red),
|
||||
GetGizmoRenderable(GizmoShape::Circle,GizmoColor::Green),
|
||||
|
@ -22,7 +22,7 @@ void ClearGizmoRotateStaticMesh()
|
||||
|
||||
bool InitGizmoRotateStaticMesh()
|
||||
{
|
||||
Renderable *torus[4]
|
||||
Mesh *torus[4]
|
||||
{
|
||||
GetGizmoRenderable(GizmoShape::Torus,GizmoColor::Red),
|
||||
GetGizmoRenderable(GizmoShape::Torus,GizmoColor::Green),
|
||||
|
@ -45,22 +45,22 @@ void ClearGizmoScaleStaticMesh()
|
||||
|
||||
bool InitGizmoScaleStaticMesh()
|
||||
{
|
||||
Renderable *center_cube=GetGizmoRenderable(GizmoShape::Cube,GizmoColor::White);
|
||||
Renderable *cylinder[3]
|
||||
Mesh *center_cube=GetGizmoRenderable(GizmoShape::Cube,GizmoColor::White);
|
||||
Mesh *cylinder[3]
|
||||
{
|
||||
GetGizmoRenderable(GizmoShape::Cylinder,GizmoColor::Red),
|
||||
GetGizmoRenderable(GizmoShape::Cylinder,GizmoColor::Green),
|
||||
GetGizmoRenderable(GizmoShape::Cylinder,GizmoColor::Blue),
|
||||
};
|
||||
|
||||
Renderable *cube[3]
|
||||
Mesh *cube[3]
|
||||
{
|
||||
GetGizmoRenderable(GizmoShape::Cube,GizmoColor::Red),
|
||||
GetGizmoRenderable(GizmoShape::Cube,GizmoColor::Green),
|
||||
GetGizmoRenderable(GizmoShape::Cube,GizmoColor::Blue),
|
||||
};
|
||||
|
||||
Renderable *square[3]=
|
||||
Mesh *square[3]=
|
||||
{
|
||||
GetGizmoRenderable(GizmoShape::Square,GizmoColor::Red),
|
||||
GetGizmoRenderable(GizmoShape::Square,GizmoColor::Green),
|
||||
|
@ -43,7 +43,7 @@ namespace
|
||||
{
|
||||
Primitive *prim;
|
||||
|
||||
Renderable *renderable[size_t(GizmoColor::RANGE_SIZE)];
|
||||
Mesh *renderable[size_t(GizmoColor::RANGE_SIZE)];
|
||||
};
|
||||
|
||||
GizmoRenderable gizmo_rederable[size_t(GizmoShape::RANGE_SIZE)]{};
|
||||
@ -306,7 +306,7 @@ void FreeGizmoResource()
|
||||
SAFE_CLEAR(gizmo_line.vdm);
|
||||
}
|
||||
|
||||
Renderable *GetGizmoRenderable(const GizmoShape &shape,const GizmoColor &color)
|
||||
Mesh *GetGizmoRenderable(const GizmoShape &shape,const GizmoColor &color)
|
||||
{
|
||||
if(!gizmo_rr)
|
||||
return(nullptr);
|
||||
|
@ -35,7 +35,7 @@ constexpr const float GIZMO_CYLINDER_OFFSET =GIZMO_CYLINDER_HALF_LENGTH+GIZM
|
||||
|
||||
constexpr const float GIZMO_TWO_AXIS_OFFSET =5.0F; ///<二轴调节点偏移量(方片或圆)
|
||||
|
||||
Renderable *GetGizmoRenderable(const GizmoShape &gs,const GizmoColor &);
|
||||
Mesh *GetGizmoRenderable(const GizmoShape &gs,const GizmoColor &);
|
||||
|
||||
StaticMesh *CreateGizmoStaticMesh(SceneNode *);
|
||||
|
||||
|
@ -93,9 +93,9 @@ private:
|
||||
return ro_plane;
|
||||
}
|
||||
|
||||
Renderable *Add(MaterialInstance *mi,const Matrix4f &mat)
|
||||
Mesh *Add(MaterialInstance *mi,const Matrix4f &mat)
|
||||
{
|
||||
Renderable *ri=db->CreateRenderable(ro_plane,mi,pipeline);
|
||||
Mesh *ri=db->CreateRenderable(ro_plane,mi,pipeline);
|
||||
|
||||
if(!ri)
|
||||
return(nullptr);
|
||||
|
@ -74,9 +74,9 @@ private:
|
||||
return prim_plane_grid;
|
||||
}
|
||||
|
||||
Renderable *Add(MaterialInstance *mi,const Matrix4f &mat)
|
||||
Mesh *Add(MaterialInstance *mi,const Matrix4f &mat)
|
||||
{
|
||||
Renderable *ri=db->CreateRenderable(prim_plane_grid,mi,pipeline);
|
||||
Mesh *ri=db->CreateRenderable(prim_plane_grid,mi,pipeline);
|
||||
|
||||
if(!ri)
|
||||
return(nullptr);
|
||||
|
@ -92,13 +92,13 @@ private:
|
||||
return(true);
|
||||
}
|
||||
|
||||
Renderable *Add(Primitive *r,MaterialInstance *mi,Pipeline *p)
|
||||
Mesh *Add(Primitive *r,MaterialInstance *mi,Pipeline *p)
|
||||
{
|
||||
Renderable *ri=db->CreateRenderable(r,mi,p);
|
||||
Mesh *ri=db->CreateRenderable(r,mi,p);
|
||||
|
||||
if(!ri)
|
||||
{
|
||||
LOG_ERROR(OS_TEXT("Create Renderable failed."));
|
||||
LOG_ERROR(OS_TEXT("Create Mesh failed."));
|
||||
return(nullptr);
|
||||
}
|
||||
|
||||
|
@ -243,7 +243,7 @@ private:
|
||||
return(true);
|
||||
}
|
||||
|
||||
Renderable *Add(Primitive *r,MaterialInstance *mi,Pipeline *p,const Matrix4f &mat=Identity4f)
|
||||
Mesh *Add(Primitive *r,MaterialInstance *mi,Pipeline *p,const Matrix4f &mat=Identity4f)
|
||||
{
|
||||
if(!r)
|
||||
return(nullptr);
|
||||
@ -252,11 +252,11 @@ private:
|
||||
if(!p)
|
||||
return(nullptr);
|
||||
|
||||
Renderable *ri=db->CreateRenderable(r,mi,p);
|
||||
Mesh *ri=db->CreateRenderable(r,mi,p);
|
||||
|
||||
if(!ri)
|
||||
{
|
||||
LOG_ERROR("Create Renderable failed! Primitive: "+r->GetName());
|
||||
LOG_ERROR("Create Mesh failed! Primitive: "+r->GetName());
|
||||
return(nullptr);
|
||||
}
|
||||
|
||||
|
@ -44,7 +44,7 @@ private:
|
||||
Sampler * sampler =nullptr;
|
||||
Material * material =nullptr;
|
||||
MaterialInstance * material_instance =nullptr;
|
||||
Renderable * render_obj =nullptr;
|
||||
Mesh * render_obj =nullptr;
|
||||
Pipeline * pipeline =nullptr;
|
||||
|
||||
private:
|
||||
|
@ -40,7 +40,7 @@ private:
|
||||
Sampler * sampler =nullptr;
|
||||
Material * material =nullptr;
|
||||
MaterialInstance * material_instance =nullptr;
|
||||
Renderable * render_obj =nullptr;
|
||||
Mesh * render_obj =nullptr;
|
||||
Pipeline * pipeline =nullptr;
|
||||
|
||||
private:
|
||||
|
@ -61,7 +61,7 @@ private:
|
||||
struct
|
||||
{
|
||||
MaterialInstance * mi;
|
||||
Renderable * r;
|
||||
Mesh * r;
|
||||
}render_obj[TexCount]{};
|
||||
|
||||
private:
|
||||
|
@ -220,7 +220,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
bool BuildCommandBuffer(RenderCmdBuffer *cb,Framebuffer *fbo,Renderable *ri)
|
||||
bool BuildCommandBuffer(RenderCmdBuffer *cb,Framebuffer *fbo,Mesh *ri)
|
||||
{
|
||||
if(!ri)return(false);
|
||||
|
||||
@ -238,7 +238,7 @@ public:
|
||||
return(true);
|
||||
}
|
||||
|
||||
bool BuildCommandBuffer(uint32_t index,Renderable *ri)
|
||||
bool BuildCommandBuffer(uint32_t index,Mesh *ri)
|
||||
{
|
||||
if(!ri)return(false);
|
||||
|
||||
@ -246,7 +246,7 @@ public:
|
||||
sc_render_target->GetFramebuffer(),ri);
|
||||
}
|
||||
|
||||
bool BuildCommandBuffer(Renderable *ri)
|
||||
bool BuildCommandBuffer(Mesh *ri)
|
||||
{
|
||||
if(!ri)return(false);
|
||||
|
||||
@ -256,7 +256,7 @@ public:
|
||||
return(true);
|
||||
}
|
||||
|
||||
bool BuildCurrentCommandBuffer(Renderable *ri)
|
||||
bool BuildCurrentCommandBuffer(Mesh *ri)
|
||||
{
|
||||
if(!ri)return(false);
|
||||
|
||||
|
@ -91,7 +91,7 @@ namespace hgl
|
||||
const graph::VIL *vil,
|
||||
const std::initializer_list<graph::VertexAttribDataPtr> &vad_list);
|
||||
|
||||
graph::Renderable *CreateRenderable(const AnsiString &name,
|
||||
graph::Mesh *CreateRenderable(const AnsiString &name,
|
||||
const uint32_t vertices_count,
|
||||
graph::MaterialInstance *mi,
|
||||
graph::Pipeline *pipeline,
|
||||
|
@ -7,7 +7,7 @@ COMPONENT_NAMESPACE_BEGIN
|
||||
|
||||
struct StaticMeshComponentData:public ComponentData
|
||||
{
|
||||
Renderable *renderable;
|
||||
Mesh *renderable;
|
||||
};//struct StaticMeshComponentData
|
||||
|
||||
class StaticMeshComponent;
|
||||
|
@ -73,7 +73,7 @@ private:
|
||||
|
||||
public:
|
||||
|
||||
void Set(Renderable *);
|
||||
void Set(Mesh *);
|
||||
};
|
||||
|
||||
IndirectDrawBuffer *icb_draw;
|
||||
|
@ -7,7 +7,7 @@ namespace hgl
|
||||
{
|
||||
namespace graph
|
||||
{
|
||||
class Renderable;
|
||||
class Mesh;
|
||||
class MaterialInstance;
|
||||
class SceneNode;
|
||||
|
||||
|
@ -31,7 +31,7 @@ namespace hgl
|
||||
AABB LocalBoundingBox; ///<本地坐标绑定盒
|
||||
//AABB WorldBoundingBox; ///<世界坐标绑定盒
|
||||
|
||||
Renderable *render_obj=nullptr; ///<可渲染实例
|
||||
Mesh *render_obj=nullptr; ///<可渲染实例
|
||||
|
||||
protected:
|
||||
|
||||
@ -51,9 +51,9 @@ namespace hgl
|
||||
SceneNode(const SceneNode &)=delete;
|
||||
SceneNode(const SceneNode *)=delete;
|
||||
SceneNode(const SceneOrient &so ):SceneOrient(so) {}
|
||||
SceneNode( Renderable *ri ) {render_obj=ri;}
|
||||
SceneNode( Mesh *ri ) {render_obj=ri;}
|
||||
SceneNode(const Matrix4f &mat ):SceneOrient(mat) {}
|
||||
SceneNode(const Matrix4f &mat, Renderable *ri ):SceneOrient(mat) {render_obj=ri;}
|
||||
SceneNode(const Matrix4f &mat, Mesh *ri ):SceneOrient(mat) {render_obj=ri;}
|
||||
|
||||
public:
|
||||
|
||||
@ -85,9 +85,9 @@ namespace hgl
|
||||
SceneNode * GetParent() noexcept{return ParentNode;}
|
||||
const SceneNode * GetParent()const noexcept{return ParentNode;}
|
||||
|
||||
void SetRenderable(Renderable *);
|
||||
Renderable *GetRenderable() noexcept{return render_obj;}
|
||||
const Renderable *GetRenderable()const noexcept{return render_obj;}
|
||||
void SetRenderable(Mesh *);
|
||||
Mesh *GetRenderable() noexcept{return render_obj;}
|
||||
const Mesh *GetRenderable()const noexcept{return render_obj;}
|
||||
|
||||
SceneNode *Add(SceneNode *sn)
|
||||
{
|
||||
|
@ -123,7 +123,7 @@ using VIL=VertexInputLayout;
|
||||
|
||||
class PrimitiveData;
|
||||
class Primitive;
|
||||
class Renderable;
|
||||
class Mesh;
|
||||
|
||||
class VertexDataManager;
|
||||
using VDM=VertexDataManager;
|
||||
|
@ -245,7 +245,7 @@ public: //dynamic state
|
||||
|
||||
public:
|
||||
|
||||
void Render(Renderable *ri)
|
||||
void Render(Mesh *ri)
|
||||
{
|
||||
if(!ri)return;
|
||||
|
||||
|
@ -54,7 +54,7 @@ class RenderResource
|
||||
IDObjectManage<PrimitiveID, Primitive> rm_primitives; ///<图元合集
|
||||
IDObjectManage<BufferID, DeviceBuffer> rm_buffers; ///<顶点缓冲区合集
|
||||
IDObjectManage<SamplerID, Sampler> rm_samplers; ///<采样器合集
|
||||
IDObjectManage<RenderableID, Renderable> rm_renderables; ///<渲染实例集合集
|
||||
IDObjectManage<RenderableID, Mesh> rm_renderables; ///<渲染实例集合集
|
||||
|
||||
private:
|
||||
|
||||
@ -97,7 +97,7 @@ public: //添加数据到管理器(如果指针为nullptr会返回-1)
|
||||
PrimitiveID Add(Primitive * p ){return rm_primitives.Add(p);}
|
||||
BufferID Add(DeviceBuffer * buf ){return rm_buffers.Add(buf);}
|
||||
SamplerID Add(Sampler * s ){return rm_samplers.Add(s);}
|
||||
RenderableID Add(Renderable * r ){return rm_renderables.Add(r);}
|
||||
RenderableID Add(Mesh * r ){return rm_renderables.Add(r);}
|
||||
|
||||
public: // VAB/VAO
|
||||
|
||||
@ -143,8 +143,8 @@ public: //Material
|
||||
|
||||
MaterialInstance * CreateMaterialInstance(const AnsiString &mtl_name,const mtl::MaterialCreateInfo *,const VILConfig *vil_cfg=nullptr);
|
||||
|
||||
Renderable * CreateRenderable(Primitive *r,MaterialInstance *mi,Pipeline *p);
|
||||
Renderable * CreateRenderable(PrimitiveCreater *pc,MaterialInstance *mi,Pipeline *p);
|
||||
Mesh * CreateRenderable(Primitive *r,MaterialInstance *mi,Pipeline *p);
|
||||
Mesh * CreateRenderable(PrimitiveCreater *pc,MaterialInstance *mi,Pipeline *p);
|
||||
|
||||
Sampler * CreateSampler(VkSamplerCreateInfo *sci=nullptr);
|
||||
Sampler * CreateSampler(Texture *);
|
||||
@ -157,7 +157,7 @@ public: //Get
|
||||
Primitive * GetPrimitive (const PrimitiveID &id){return rm_primitives.Get(id);}
|
||||
DeviceBuffer * GetBuffer (const BufferID &id){return rm_buffers.Get(id);}
|
||||
Sampler * GetSampler (const SamplerID &id){return rm_samplers.Get(id);}
|
||||
Renderable * GetRenderable (const RenderableID &id){return rm_renderables.Get(id);}
|
||||
Mesh * GetRenderable (const RenderableID &id){return rm_renderables.Get(id);}
|
||||
|
||||
public: //Release
|
||||
|
||||
@ -167,7 +167,7 @@ public: //Release
|
||||
void Release(Primitive * p ){rm_primitives.Release(p);}
|
||||
void Release(DeviceBuffer * buf ){rm_buffers.Release(buf);}
|
||||
void Release(Sampler * s ){rm_samplers.Release(s);}
|
||||
void Release(Renderable * r ){rm_renderables.Release(r);}
|
||||
void Release(Mesh * r ){rm_renderables.Release(r);}
|
||||
};//class RenderResource
|
||||
|
||||
/**
|
||||
|
@ -62,10 +62,9 @@ public:
|
||||
};
|
||||
|
||||
/**
|
||||
* 原始可渲染对象(即仅一个模型一个材质)
|
||||
* 未来考虑改名StaticMesh哦!
|
||||
* 网格体(网格中的最小渲染单位)
|
||||
*/
|
||||
class Renderable ///可渲染对象实例
|
||||
class Mesh
|
||||
{
|
||||
Pipeline * pipeline;
|
||||
MaterialInstance * mat_inst;
|
||||
@ -76,13 +75,13 @@ class Renderable
|
||||
|
||||
private:
|
||||
|
||||
friend Renderable *CreateRenderable(Primitive *,MaterialInstance *,Pipeline *);
|
||||
friend Mesh *CreateRenderable(Primitive *,MaterialInstance *,Pipeline *);
|
||||
|
||||
Renderable(Primitive *,MaterialInstance *,Pipeline *,PrimitiveDataBuffer *,PrimitiveRenderData *);
|
||||
Mesh(Primitive *,MaterialInstance *,Pipeline *,PrimitiveDataBuffer *,PrimitiveRenderData *);
|
||||
|
||||
public:
|
||||
|
||||
virtual ~Renderable()
|
||||
virtual ~Mesh()
|
||||
{
|
||||
//需要在这里添加删除pipeline/desc_sets/primitive引用计数的代码
|
||||
|
||||
@ -115,7 +114,7 @@ public:
|
||||
mat_inst=mi;
|
||||
return(true);
|
||||
}
|
||||
};//class Renderable
|
||||
};//class Mesh
|
||||
|
||||
Renderable *CreateRenderable(Primitive *,MaterialInstance *,Pipeline *);
|
||||
Mesh *CreateRenderable(Primitive *,MaterialInstance *,Pipeline *);
|
||||
VK_NAMESPACE_END
|
||||
|
@ -44,7 +44,7 @@ namespace hgl
|
||||
|
||||
bool WriteVertex (const int16 *fp);
|
||||
bool WriteTexCoord (const float *fp);
|
||||
};//class TextPrimitive:public Renderable
|
||||
};//class TextPrimitive:public Mesh
|
||||
}//namespace graph
|
||||
}//namespace hgl
|
||||
#endif//HGL_GRAPH_FONT_PRIMITIVE_INCLUDE
|
||||
|
@ -58,7 +58,7 @@ namespace hgl
|
||||
|
||||
bool Layout(TextPrimitive *tr,const U16String &str);
|
||||
|
||||
Renderable *CreateRenderable(TextPrimitive *text_primitive);
|
||||
Mesh *CreateRenderable(TextPrimitive *text_primitive);
|
||||
|
||||
void Release(TextPrimitive *);
|
||||
};//class TextRender
|
||||
|
@ -287,7 +287,7 @@ SET(VK_RENDERABLE_SOURCE ${SG_INCLUDE_PATH}/VKRenderable.h
|
||||
Vulkan/VKTileData.cpp
|
||||
Vulkan/VKTileFont.cpp)
|
||||
|
||||
SOURCE_GROUP("Vulkan\\Renderable" FILES ${VK_RENDERABLE_SOURCE})
|
||||
SOURCE_GROUP("Vulkan\\Mesh" FILES ${VK_RENDERABLE_SOURCE})
|
||||
|
||||
set(COMPONENT_INCLUDE_PATH ${ROOT_INCLUDE_PATH}/hgl/component)
|
||||
|
||||
|
@ -12,7 +12,7 @@
|
||||
|
||||
VK_NAMESPACE_BEGIN
|
||||
|
||||
//bool Renderable::Set(const int stage_input_binding,VIL *vil,VkDeviceSize offset)
|
||||
//bool Mesh::Set(const int stage_input_binding,VIL *vil,VkDeviceSize offset)
|
||||
//{
|
||||
// if(stage_input_binding<0||stage_input_binding>=buf_count||!vil)return(false);
|
||||
//
|
||||
|
@ -80,12 +80,12 @@ MaterialInstance *RenderResource::CreateMaterialInstance(const AnsiString &mtl_n
|
||||
return CreateMaterialInstance(mtl,vil_cfg);
|
||||
}
|
||||
|
||||
Renderable *RenderResource::CreateRenderable(Primitive *r,MaterialInstance *mi,Pipeline *p)
|
||||
Mesh *RenderResource::CreateRenderable(Primitive *r,MaterialInstance *mi,Pipeline *p)
|
||||
{
|
||||
if(!p||!mi||!r)
|
||||
return(nullptr);
|
||||
|
||||
Renderable *ri=VK_NAMESPACE::CreateRenderable(r,mi,p);
|
||||
Mesh *ri=VK_NAMESPACE::CreateRenderable(r,mi,p);
|
||||
|
||||
if(ri)
|
||||
Add(ri);
|
||||
@ -93,7 +93,7 @@ Renderable *RenderResource::CreateRenderable(Primitive *r,MaterialInstance *mi,P
|
||||
return ri;
|
||||
}
|
||||
|
||||
Renderable *RenderResource::CreateRenderable(PrimitiveCreater *pc,MaterialInstance *mi,Pipeline *p)
|
||||
Mesh *RenderResource::CreateRenderable(PrimitiveCreater *pc,MaterialInstance *mi,Pipeline *p)
|
||||
{
|
||||
if(!p||!mi||!pc)
|
||||
return(nullptr);
|
||||
@ -103,7 +103,7 @@ Renderable *RenderResource::CreateRenderable(PrimitiveCreater *pc,MaterialInstan
|
||||
if(!prim)
|
||||
return(nullptr);
|
||||
|
||||
Renderable *ri=VK_NAMESPACE::CreateRenderable(prim,mi,p);
|
||||
Mesh *ri=VK_NAMESPACE::CreateRenderable(prim,mi,p);
|
||||
|
||||
if(ri)
|
||||
{
|
||||
|
@ -52,7 +52,7 @@ const int PrimitiveDataBuffer::compare(const PrimitiveDataBuffer &pdb)const
|
||||
return off;
|
||||
}
|
||||
|
||||
Renderable::Renderable(Primitive *r,MaterialInstance *mi,Pipeline *p,PrimitiveDataBuffer *pdb,PrimitiveRenderData *prd)
|
||||
Mesh::Mesh(Primitive *r,MaterialInstance *mi,Pipeline *p,PrimitiveDataBuffer *pdb,PrimitiveRenderData *prd)
|
||||
{
|
||||
primitive=r;
|
||||
pipeline=p;
|
||||
@ -62,7 +62,7 @@ Renderable::Renderable(Primitive *r,MaterialInstance *mi,Pipeline *p,PrimitiveDa
|
||||
primitive_render_data=prd;
|
||||
}
|
||||
|
||||
Renderable *CreateRenderable(Primitive *prim,MaterialInstance *mi,Pipeline *p)
|
||||
Mesh *CreateRenderable(Primitive *prim,MaterialInstance *mi,Pipeline *p)
|
||||
{
|
||||
if(!prim||!mi||!p)return(nullptr);
|
||||
|
||||
@ -76,7 +76,7 @@ Renderable *CreateRenderable(Primitive *prim,MaterialInstance *mi,Pipeline *p)
|
||||
|
||||
if(prim->GetVABCount()<input_count) //小于材质要求的数量?那自然是不行的
|
||||
{
|
||||
LOG_ERROR("[FATAL ERROR] input buffer count of Renderable lesser than Material, Material name: "+mtl_name);
|
||||
LOG_ERROR("[FATAL ERROR] input buffer count of Mesh lesser than Material, Material name: "+mtl_name);
|
||||
|
||||
return(nullptr);
|
||||
}
|
||||
@ -104,7 +104,7 @@ Renderable *CreateRenderable(Primitive *prim,MaterialInstance *mi,Pipeline *p)
|
||||
if(vab->GetFormat()!=vif->format)
|
||||
{
|
||||
LOG_ERROR( "[FATAL ERROR] VAB \""+AnsiString(vif->name)+
|
||||
AnsiString("\" format can't match Renderable, Material(")+mtl_name+
|
||||
AnsiString("\" format can't match Mesh, Material(")+mtl_name+
|
||||
AnsiString(") Format(")+GetVulkanFormatName(vif->format)+
|
||||
AnsiString("), VAB Format(")+GetVulkanFormatName(vab->GetFormat())+
|
||||
")");
|
||||
@ -114,7 +114,7 @@ Renderable *CreateRenderable(Primitive *prim,MaterialInstance *mi,Pipeline *p)
|
||||
if(vab->GetStride()!=vif->stride)
|
||||
{
|
||||
LOG_ERROR( "[FATAL ERROR] VAB \""+AnsiString(vif->name)+
|
||||
AnsiString("\" stride can't match Renderable, Material(")+mtl_name+
|
||||
AnsiString("\" stride can't match Mesh, Material(")+mtl_name+
|
||||
AnsiString(") stride(")+AnsiString::numberOf(vif->stride)+
|
||||
AnsiString("), VAB stride(")+AnsiString::numberOf(vab->GetStride())+
|
||||
")");
|
||||
@ -126,6 +126,6 @@ Renderable *CreateRenderable(Primitive *prim,MaterialInstance *mi,Pipeline *p)
|
||||
++vif;
|
||||
}
|
||||
|
||||
return(new Renderable(prim,mi,p,pdb,prd));
|
||||
return(new Mesh(prim,mi,p,pdb,prd));
|
||||
}
|
||||
VK_NAMESPACE_END
|
||||
|
@ -31,8 +31,8 @@ const int RenderNode::compare(const RenderNode &other)const
|
||||
{
|
||||
hgl::int64 off;
|
||||
|
||||
hgl::graph::Renderable *ri_one=other.scene_node->GetRenderable();
|
||||
hgl::graph::Renderable *ri_two=scene_node->GetRenderable();
|
||||
hgl::graph::Mesh *ri_one=other.scene_node->GetRenderable();
|
||||
hgl::graph::Mesh *ri_two=scene_node->GetRenderable();
|
||||
|
||||
auto *prim_one=ri_one->GetPrimitive();
|
||||
auto *prim_two=ri_two->GetPrimitive();
|
||||
@ -203,7 +203,7 @@ void MaterialRenderList::UpdateMaterialInstance(SceneNode *sn)
|
||||
}
|
||||
}
|
||||
|
||||
void MaterialRenderList::RenderItem::Set(Renderable *ri)
|
||||
void MaterialRenderList::RenderItem::Set(Mesh *ri)
|
||||
{
|
||||
mi =ri->GetMaterialInstance();
|
||||
pdb =ri->GetDataBuffer();
|
||||
@ -261,7 +261,7 @@ void MaterialRenderList::Stat()
|
||||
ri_array.Alloc(count);
|
||||
|
||||
RenderItem *ri=ri_array.GetData();
|
||||
Renderable *ro=rn->scene_node->GetRenderable();
|
||||
Mesh *ro=rn->scene_node->GetRenderable();
|
||||
|
||||
ri_count=1;
|
||||
|
||||
|
@ -22,7 +22,7 @@ namespace hgl
|
||||
{
|
||||
if(!sn)return(false);
|
||||
|
||||
Renderable *ri=sn->GetRenderable();
|
||||
Mesh *ri=sn->GetRenderable();
|
||||
|
||||
if(ri)
|
||||
{
|
||||
@ -89,7 +89,7 @@ namespace hgl
|
||||
{
|
||||
if(!sn)return;
|
||||
|
||||
Renderable *ri=sn->GetRenderable();
|
||||
Mesh *ri=sn->GetRenderable();
|
||||
|
||||
if(!ri)return;
|
||||
|
||||
|
@ -21,7 +21,7 @@ namespace hgl
|
||||
return node;
|
||||
}
|
||||
|
||||
void SceneNode::SetRenderable(Renderable *ri)
|
||||
void SceneNode::SetRenderable(Mesh *ri)
|
||||
{
|
||||
render_obj=ri;
|
||||
|
||||
|
@ -98,7 +98,7 @@ namespace hgl
|
||||
return prim;
|
||||
}
|
||||
|
||||
graph::Renderable *WorkObject::CreateRenderable( const AnsiString &name,
|
||||
graph::Mesh *WorkObject::CreateRenderable( const AnsiString &name,
|
||||
const uint32_t vertices_count,
|
||||
graph::MaterialInstance *mi,
|
||||
graph::Pipeline *pipeline,
|
||||
|
Loading…
x
Reference in New Issue
Block a user