准备定义PrimitiveComponent用于取代原本SceneNode中的Renderable数据

This commit is contained in:
hyzboy 2025-03-25 02:19:32 +08:00
parent ab3f771455
commit f0512edb5a
4 changed files with 38 additions and 15 deletions

View File

@ -4,8 +4,12 @@
#include<hgl/type/SortedSet.h> #include<hgl/type/SortedSet.h>
#include<hgl/type/List.h> #include<hgl/type/List.h>
namespace hgl::graph #define COMPONENT_NAMESPACE hgl::graph
{ #define COMPONENT_NAMESPACE_BEGIN namespace COMPONENT_NAMESPACE {
#define COMPONENT_NAMESPACE_END }
COMPONENT_NAMESPACE_BEGIN
class ComponentManager; class ComponentManager;
class SceneNode; class SceneNode;
@ -81,4 +85,5 @@ namespace hgl::graph
virtual void OnFocusLost(){} ///<焦点丢失事件 virtual void OnFocusLost(){} ///<焦点丢失事件
virtual void OnFocusGained(){} ///<焦点获得事件 virtual void OnFocusGained(){} ///<焦点获得事件
};//class ComponentManager };//class ComponentManager
}//namespace hgl::graph
COMPONENT_NAMESPACE_END

View File

@ -0,0 +1,18 @@
#pragma once
#include<hgl/component/RenderComponent.h>
#include<hgl/graph/VKRenderable.h>
COMPONENT_NAMESPACE_BEGIN
class PrimitiveComponent:public RenderComponent
{
public:
PrimitiveComponent()=default;
virtual ~PrimitiveComponent()=default;
Renderable *GetRenderable();
};//class PrimitiveComponent
COMPONENT_NAMESPACE_END

View File

@ -2,18 +2,17 @@
#include<hgl/component/Component.h> #include<hgl/component/Component.h>
namespace hgl::graph COMPONENT_NAMESPACE_BEGIN
/**
*
*/
class RenderComponent: public Component
{ {
/** public:
*
*/
class RenderComponent: public Component
{
public:
RenderComponent()=default; RenderComponent()=default;
virtual ~RenderComponent()=default; virtual ~RenderComponent()=default;
};//class RenderComponent
virtual void Render()=0; COMPONENT_NAMESPACE_END
};//class RenderComponent
}//namespace hgl::graph

View File

@ -63,6 +63,7 @@ public:
/** /**
* () * ()
* StaticMesh哦
*/ */
class Renderable ///可渲染对象实例 class Renderable ///可渲染对象实例
{ {