23 "SPHERE_3D",
"BOX_3D",
"QUAD_3D",
"MESH",
"SUBMESH",
"TERRAIN",
"TRANSFORM",
24 "WATER",
"PARTICLE_EMITTER",
"SKY",
"INFINITE_PLANE",
"VEGETATION_GRASS",
"UNKNOWN"
56 [[maybe_unused]]
bool refreshData)
87 if ( material != INVALID_HANDLE<Material> )
142 inputBuffer >> tempVer;
static bool loadCache(EditorComponent &comp, ByteBuffer &inputBuffer)
static void loadFromXML(EditorComponent &comp, const boost::property_tree::ptree &pt)
static bool saveCache(const EditorComponent &comp, ByteBuffer &outputBuffer)
static void saveToXML(const EditorComponent &comp, boost::property_tree::ptree &pt)
void set(const BoundingBox &bb) noexcept
virtual bool load(PlatformContext &context)
Loading and unloading interface.
ResourceState getState() const noexcept
void postLoad()
Invoked by the contained SceneNode when it finishes all of its internal loading and is ready for proc...
void setBounds(const BoundingBox &aabb, const vec3< F32 > &worldOffset={})
virtual ~SceneNode() override
virtual void saveToXML(boost::property_tree::ptree &pt) const
virtual void sceneUpdate(U64 deltaTimeUS, SceneGraphNode *sgn, SceneState &sceneState)
Called from SceneGraph "sceneUpdate".
BoundingBox _boundingBox
The initial bounding box as it was at object's creation (i.e. no transforms applied)
Handle< Material > _materialTemplate
virtual void prepareRender(SceneGraphNode *sgn, RenderingComponent &rComp, RenderPackage &pkg, GFX::MemoryBarrierCommand &postDrawMemCmd, RenderStagePass renderStagePass, const CameraSnapshot &cameraSnapshot, bool refreshData)
U32 requiredComponentMask() const noexcept
Handle< Material > getMaterialTpl() const
bool load(PlatformContext &context) override
Loading and unloading interface.
SceneNode(const ResourceDescriptorBase &descriptor, SceneNodeType type, U32 requiredComponentMask)
std::unique_ptr< EditorComponent > _editorComponent
virtual void buildDrawCommands(SceneGraphNode *sgn, GenericDrawCommandContainer &cmdsOut)
virtual void onNetworkReceive(SceneGraphNode *sgn, WorldPacket &dataIn) const
virtual bool saveCache(ByteBuffer &outputBuffer) const
virtual bool loadCache(ByteBuffer &inputBuffer)
void registerEditorComponent(PlatformContext &context)
virtual void onNetworkSend(SceneGraphNode *sgn, WorldPacket &dataOut) const
virtual void setMaterialTpl(Handle< Material > material)
virtual void loadFromXML(const boost::property_tree::ptree &pt)
U32 _requiredComponentMask
void set(const T *v) noexcept
set the 3 components of the vector manually using a source pointer to a (large enough) array
const char * sceneNodeType[to_base(SceneNodeType::COUNT)+1u]
Handle console commands that start with a forward slash.
constexpr SceneNodeType GetSceneNodeType()
constexpr U32 to_U32(const T value)
FORCE_INLINE void DestroyResource(Handle< T > &handle, const bool immediate=false)
@ RES_LOADED
The resource is available for usage.
SceneNodeType
ToDo: Move particle emitter to components (it will make them way more dynamic) - Ionut.
constexpr U16 BYTE_BUFFER_VERSION
eastl::fixed_vector< GenericDrawCommand, 1, true > GenericDrawCommandContainer
constexpr auto to_base(const Type value) -> Type
static NO_INLINE void printfn(const char *format, T &&... args)