Todo List
Member rapidjson::Writer< OutputStream, SourceEncoding, TargetEncoding, Allocator >::WriteDouble (double d)
Optimization with custom double-to-string converter.
Member Urho3D::AnimatedModel::OnWorldBoundingBoxUpdate ()
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::Connection::Connection (Context *context, bool isClient, kNet::SharedPtr< kNet::MessageConnection > connection)
Not IPv6-capable.
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)
This does not catch the connected body node's scale changing
Member Urho3D::Context::~Context ()
Context should not need to know about subsystems
Member Urho3D::CrowdAgent::OnMarkedDirty (Node *node)
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 ()
The sphere radius should be multiplied with bone scale
Member Urho3D::File::Read (void *dest, unsigned size)
Handle errors
Member Urho3D::FileSystem::GetProgramDir () const
Should not rely on such fixed convention
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 (unsigned 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::Graphics::GetMultiSampleLevels () const
Implement properly, if possible
Member Urho3D::HttpRequest::ThreadFunction ()
SSL mode will not actually work unless Civetweb's SSL mode is initialized with an external SSL DLL
Member Urho3D::Image::Resize (int width, int height)
Reducing image size does not sample all needed pixels
Member Urho3D::Input::AddScreenJoystick (XMLFile *layoutFile=0, XMLFile *styleFile=0)

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::Input::SetMouseMode (MouseMode mode)

Use SDL_SetRelativeMouseMode() for MM_RELATIVE mode

When SDL 2.0.4 is integrated, use SDL_CaptureMouse() and global mouse functions for MM_WRAP mode.

Member Urho3D::Material::BeginLoad (Deserializer &source)
Differentiate with 3D textures by actually reading the XML content
Member Urho3D::Material::Load (const XMLElement &source)
Differentiate with 3D textures by actually reading the XML content
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::Object::SendEvent (StringHash eventType, VariantMap &eventData)
This is not entirely foolproof, as a subscriber could have been added to make up for the removed one
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::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::Update (float timeStep)
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 &currentScissor)
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::View::PrepareInstancingBuffer ()
If rendering the same view several times back-to-back, would not need to refill the buffer