#ifndef HGL_GRAPH_RENDER_NODE_INCLUDE #define HGL_GRAPH_RENDER_NODE_INCLUDE #include #include namespace hgl { namespace graph { class Renderable; class MaterialInstance; class SceneNode; struct RenderNode:public Comparator { uint index; ///<在MaterialRenderList中的索引 SceneNode * scene_node; uint32 l2w_version; uint32 l2w_index; Vector3f world_position; float to_camera_distance; public: //该函数位于MaterialRenderList.cpp const int compare(const RenderNode &)const override; }; using RenderNodeList=List; using RenderNodePointerList=List; using MaterialInstanceSets=SortedSet; ///<材质实例集合 }//namespace graph template<> inline const int ItemComparator::compare(const graph::RenderNode &a,const graph::RenderNode &b) { return a.compare(b); } }//namespace hgl #endif//HGL_GRAPH_RENDER_NODE_INCLUDE