Todo List
Todo List
- Member Urho3D::AnimatedModel::OnWorldBoundingBoxUpdate () override
- If it's a skinned attachment that does not cover the whole body, it will have unnecessarily large bounds
- Member Urho3D::AnimatedModel::UpdateBoneBoundingBox ()
- The sphere radius should be multiplied with bone scale
- Member Urho3D::Animation::CreateTrack (const String &name)
- When tracks / keyframes are created dynamically, memory use is not updated
- Member Urho3D::Camera::GetFrustumSize (Vector3 &near, Vector3 &far) const
- Necessary? Explain this
- Member Urho3D::CollisionGeometryDataCache
- Remove duplicate declaration
- Member Urho3D::Connection::ProcessExistingNode (Node *node, NodeReplicationState &nodeState)
- Searching for the component is a potential CPU hotspot. It should be cached
- Member Urho3D::Connection::ProcessSceneUpdate (int msgID, MemoryBuffer &msg)
- On mobile devices processing this message may potentially cause a crash if it attempts to load new GPU resources while the application is minimized
- Member Urho3D::Constraint::OnMarkedDirty (Node *node) override
- This does not catch the connected body node's scale changing
- Member Urho3D::Context::~Context () override
- Context should not need to know about subsystems
- Member Urho3D::CrowdAgent::OnMarkedDirty (Node *node) override
- Handle node transform being dirtied.
- Member Urho3D::DecalSet::AddDecal (Drawable *target, const Vector3 &worldPosition, const Quaternion &worldRotation, float size, float aspectRatio, float depth, const Vector2 &topLeftUV, const Vector2 &bottomRightUV, float timeToLive=0.0f, float normalCutoff=0.1f, unsigned subGeometry=M_MAX_UNSIGNED)
- target transform is not right if adding a decal to StaticModelGroup
- Member Urho3D::DecalSet::OnWorldBoundingBoxUpdate () override
- The sphere radius should be multiplied with bone scale
- Member Urho3D::EventReceiverGroup::EndSendEvent ()
- Could be optimized by erase-swap, but this keeps the receiver order
- Member Urho3D::File::Read (void *dest, unsigned size) override
- Handle errors
- Member Urho3D::FileSystem::ScanDirInternal (Vector< String > &result, String path, const String &startPath, const String &filter, unsigned flags, bool recursive) const
- Filename may be unnormalized Unicode on Mac OS X. Re-normalize as necessary
- Member Urho3D::Graphics::Clear (ClearTargetFlags flags, const Color &color=Color(0.0f, 0.0f, 0.0f, 0.0f), float depth=1.0f, unsigned stencil=0)
- Any user-set scissor test will be lost
- Member Urho3D::Image::Resize (int width, int height)
- Reducing image size does not sample all needed pixels
- Member Urho3D::Input::AddScreenJoystick (XMLFile *layoutFile=nullptr, XMLFile *styleFile=nullptr)
After a real joystick has been plugged in 1073741824 times, the ranges will overlap
Axis emulation for screen joystick is not fully supported yet.
- Member Urho3D::Input::ResetState ()
- Check if resetting joystick state on input focus loss is even necessary
- Member Urho3D::JSONValue::GetVariantMap () const
- Ideally this should allow any strings, but for now the convention is that the keys need to be hexadecimal StringHashes
- Member Urho3D::NavigationMesh::BuildTile (Vector< NavigationGeometryInfo > &geometryList, int x, int z)
- Assignment of flags from navigation areas?
- Member Urho3D::NavigationMesh::CollectGeometries (Vector< NavigationGeometryInfo > &geometryList, Node *node, HashSet< Node * > &processedNodes, bool recursive)
- Evaluate whether should handle other types. Now StaticModel & TerrainPatch are supported, others skipped
- Member Urho3D::ParticleEffect2D::Clone (const String &cloneName=String::EMPTY) const
- Zero if source was created programmatically
- Member Urho3D::ParticleEffect::Clone (const String &cloneName=String::EMPTY) const
- Zero if source was created programmatically
- Member Urho3D::Renderer::DrawDebugGeometry (bool depthTest)
- Because debug geometry is per-scene, if two cameras show views of the same area, occlusion is not shown correctly
- Member Urho3D::Renderer::GetScreenBuffer (int width, int height, unsigned format, int multiSample, bool autoResolve, bool cubemap, bool filtered, bool srgb, unsigned persistentKey=0)
- Mipmaps disabled for now. Allow to request mipmapped buffer?
- Member Urho3D::Renderer::GetShadowMap (Light *light, Camera *camera, unsigned viewWidth, unsigned viewHeight)
- Allow to specify maximum shadow maps per resolution, as smaller shadow maps take less memory
- Member Urho3D::Renderer::UpdateQueuedViewport (unsigned index)
- May result in incorrect debug geometry culling if the same scene is drawn from multiple viewports
- Member Urho3D::Scene::UpdateAsyncLoading ()
- Works poorly in scenes where one root-level child node contains all content
- Member Urho3D::Spline::BezierInterpolation (const Vector< Variant > &knots, float t) const
- Do not allocate a new vector each time
- Member Urho3D::Spline::GetPoint (float f) const
- Do not allocate a new vector each time
- Member Urho3D::Sprite::IsWithinScissor (const IntRect ¤tScissor) override
- Implement properly, for now just checks visibility flag
- Member Urho3D::Terrain::GetHeight (const Vector3 &worldPosition) const
- This assumes that the terrain scene node is upright
- Member Urho3D::UIElement::SortChildren ()
- Order is not stable when children have same priorities
- Member Urho3D::ValueAnimationInfo::GetEventFrames (float beginTime, float endTime, PODVector< const VAnimEventFrame * > &eventFrames)
- This can miss an event if the deltatime is exactly the animation's length
- Member Urho3D::View::PrepareInstancingBuffer ()
- If rendering the same view several times back-to-back, would not need to refill the buffer
- Member Urho3D::Viewport::ScreenToWorldPoint (int x, int y, float depth) const
- This is incorrect if the viewport is used on a texture rendertarget instead of the backbuffer, as it may have different dimensions.
- Member Urho3D::Viewport::WorldToScreenPoint (const Vector3 &worldPos) const
- This is incorrect if the viewport is used on a texture rendertarget instead of the backbuffer, as it may have different dimensions.