#ifndef HGL_GRAPH_RENDER_NODE_INCLUDE #define HGL_GRAPH_RENDER_NODE_INCLUDE #include #include #include namespace hgl { namespace graph { class Renderable; struct RenderNode { Renderable *render_obj; }; using RenderNodeList=List; struct RenderNode2D:public RenderNode { Matrix3x4f local_to_world; }; using RenderNode2DList=List; constexpr double RenderNode3DDistanceFactor=100.0; struct RenderNode3D:public RenderNode { MVPMatrix matrix; Vector3f WorldCenter; double distance_to_camera_square; double distance_to_camera; };//struct RenderNode using RenderNode3DList=List; }//namespace graph }//namespace hgl using RenderNodePointer=hgl::graph::RenderNode *; using RenderNodeComparator=Comparator; using RenderNode2DPointer=hgl::graph::RenderNode2D *; using RenderNode2DComparator=Comparator; using RenderNode3DPointer=hgl::graph::RenderNode3D *; using RenderNode3DComparator=Comparator; #endif//HGL_GRAPH_RENDER_NODE_INCLUDE