Added Owner in SceneNode, and then have few other change.

This commit is contained in:
hyzboy 2024-10-20 23:17:04 +08:00
parent 0df9d64dcf
commit 83c1a067fe
5 changed files with 26 additions and 60 deletions

View File

@ -44,7 +44,7 @@ public:
};//struct RenderPipelineIndex
/**
*
* 线
*/
class MaterialRenderList
{
@ -113,15 +113,9 @@ public:
void Add(SceneNode *);
void SetCameraInfo(CameraInfo *ci)
{
camera_info=ci;
}
void SetCameraInfo(CameraInfo *ci){camera_info=ci;}
void Clear()
{
rn_list.Clear();
}
void Clear(){rn_list.Clear();}
void End();

View File

@ -19,6 +19,8 @@ namespace hgl
*/
class SceneNode:public SceneOrient ///场景节点类
{
SceneNode *Owner; ///<上级节点
SceneNodeID NodeID; ///<节点ID
SceneNodeName NodeName; ///<节点名称
@ -59,6 +61,8 @@ namespace hgl
{
SceneOrient::Clear();
Owner=nullptr;
BoundingBox.SetZero();
LocalBoundingBox.SetZero();
@ -74,8 +78,13 @@ namespace hgl
return(true);
}
Renderable *GetRenderable(){return render_obj;}
void SetOwner(SceneNode *sn) {Owner=sn;}
SceneNode * GetOwner() noexcept{return Owner;}
const SceneNode * GetOwner()const noexcept{return Owner;}
void SetRenderable(Renderable *);
Renderable *GetRenderable() noexcept{return render_obj;}
const Renderable *GetRenderable()const noexcept{return render_obj;}
SceneNode *Add(SceneNode *sn)
{
@ -83,6 +92,7 @@ namespace hgl
return(nullptr);
ChildNode.Add(sn);
sn->SetOwner(this);
return sn;
}

View File

@ -1,39 +0,0 @@
#pragma once
#include<hgl/type/TypeInfo.h>
#include<hgl/graph/VK.h>
VK_NAMESPACE_BEGIN
class SceneNode;
class SceneComponentData
{
};//class SceneComponentData
class SceneComponentManager;
class SceneComponent
{
SceneComponentManager *manager;
SceneNode *owner;
public:
SceneComponentManager *GetManager()const{return manager;}
SceneNode *GetOwner()const{return owner;}
virtual const size_t GetTypeHash()=0;
public:
};//class SceneComponent
class SceneComponentManager
{
};//class SceneComponentManager
VK_NAMESPACE_END

View File

@ -64,13 +64,6 @@ SET(SCENE_GRAPH_SOURCE RenderList.cpp
SOURCE_GROUP("Scene Graph" FILES ${SCENE_GRAPH_HEADER} ${SCENE_GRAPH_SOURCE})
SET(SGC_HEADER_PATH ${SG_INCLUDE_PATH}/component)
SET(SGC_SOURCE_PATH component)
SET(SG_COMPONENT_HEADER ${SGC_HEADER_PATH}/SceneComponent.h)
SOURCE_GROUP("Scene Graph\\Component" FILES ${SG_COMPONENT_HEADER})
SET(STATIC_MESH_HEADER_FILES ${SG_INCLUDE_PATH}/mesh/StaticMesh.h
${SG_INCLUDE_PATH}/mesh/StaticMeshLODPolicy.h
${SG_INCLUDE_PATH}/mesh/StaticMeshNode.h
@ -268,6 +261,17 @@ SET(VK_RENDERABLE_SOURCE ${SG_INCLUDE_PATH}/VKRenderable.h
SOURCE_GROUP("Vulkan\\Renderable" FILES ${VK_RENDERABLE_SOURCE})
#-Component-------------------------------------------------------------
SET(SGC_HEADER_PATH ${SG_INCLUDE_PATH}/component)
SET(SGC_SOURCE_PATH component)
SET(SG_COMPONENT_HEADER ${SG_INCLUDE_PATH}/Component.h)
SOURCE_GROUP("Scene Graph\\Component" FILES ${SG_COMPONENT_HEADER})
#-RenderModue,RenderFramework-------------------------------------------
SET(RENDER_MODULE_HEADER ${SG_INCLUDE_PATH}/RenderModule.h)
SET(RENDER_MODULE_SOURCE RenderModule/RenderModule.cpp)
@ -300,10 +304,7 @@ IF(UNIX)
ELSE()
IF(APPLE)
ELSE()
SET(VULKAN_SURFACE_SOURCE Vulkan/Platform/XCBVulkan.cpp)
ENDIF()