Blender  V3.3
Todo List
Member __pad0__
: This aabb tree can also be use to speed up ray tests on btCompoundShape, see http://code.google.com/p/bullet/issues/detail?id=25 Currently, removal of child shapes is only supported when disabling the aabb tree (pass 'false' in the constructor of btCompoundShape)
Member AnimationImporter::read_node_transform (COLLADAFW::Node *node, Object *ob)
refactor read_node_transform to not automatically apply anything, but rather return the transform matrix, so caller can do with it what is necessary. Same for get_node_mat
Member ATTRIBUTE_ALIGNED16 (a)
: check out alignment methods for other platforms/compilers define ATTRIBUTE_ALIGNED16(a) a attribute ((aligned (16))) define ATTRIBUTE_ALIGNED64(a) a attribute ((aligned (64))) define ATTRIBUTE_ALIGNED128(a) a attribute ((aligned (128)))
Module audaspace
add to doxygen
Member blender::compositor::DotproductOperation::execute_pixel_sampled (float output[4], float x, float y, PixelSampler sampler) override
current implementation is the inverse of a dot-product. not 'logically' correct
Member blender::compositor::Node::convert_to_operations (NodeConverter &converter, const CompositorContext &context) const =0
this must be described further
Member blender::compositor::ReadBufferOperation::determine_canvas (const rcti &preferred_area, rcti &r_area) override
may not occur! But does with blur node.
Class blender::compositor::RenderLayersProg
Rename to operation.
Class blender::compositor::TextureBaseOperation
Rename to operation.
Member blender::nodes::node_geo_curve_sample_cc::get_length_input_field (GeoNodeExecParams params, const GeometryNodeCurveSampleMode mode, const float curves_total_length)
Use a mutable single input instead when they are supported.
Module blenloader
check if blo and Blend file IO groups can be merged in docs.
Member btAxisSweep3Internal< BP_FP_INT_TYPE >::removeHandle (BP_FP_INT_TYPE handle, btDispatcher *dispatcher)
: compare performance
Class btCollisionConfiguration
: describe the meaning
Member btCollisionWorld::debugDrawObject (const btTransform &worldTransform, const btCollisionShape *shape, const btVector3 &color)
pass camera, for some culling? no -> we are not a graphics lib
Member btConnectivityProcessor::processTriangle (btVector3 *triangle, int partId, int triangleIndex)
: check if we need some epsilon, due to floating point imprecision
Class btDefaultCollisionConfiguration
: describe the meaning
Member btDefaultCollisionConfiguration::setConvexConvexMultipointIterations (int numPerturbationIterations=3, int minimumPointsPerturbationThreshold=3)
we could add a per-object setting of those parameters, for level-of-detail collision detection.
Class btKinematicClosestNotMeRayResultCallback
Interact with dynamic objects, Ride kinematicly animated platforms properly More realistic (or maybe just a config option) falling -> Should integrate falling velocity manually and use that in stepDown() Support jumping Support ducking
Member btManifoldResult::addContactPoint (const btVector3 &normalOnBInWorld, const btVector3 &pointInWorld, btScalar depth)
, check this for any side effects
Member btQuaternion::farthest (const btQuaternion &qd) const
document this and it's use
Member btQuaternion::nearest (const btQuaternion &qd) const
document this and it's use
Member btRaycastVehicle::rayCast (btWheelInfo &wheel)
for driving on dynamic/movable objects!;
Member btRotationalLimitMotor::solveAngularLimits (btScalar timeStep, btVector3 &axis, btScalar jacDiagABInv, btRigidBody *body0, btRigidBody *body1)
: should clip against accumulated impulse
Member btSimpleDynamicsWorld::clearForces ()
: iterate over awake simulation islands!
Member btSimpleDynamicsWorld::synchronizeMotionStates ()
: iterate over awake simulation islands!
Member btSimulationIslandManager::buildAndProcessIslands (btDispatcher *dispatcher, btCollisionWorld *collisionWorld, IslandCallback *callback)
: this is random access, it can be walked 'cache friendly'!
Member btSimulationIslandManager::buildIslands (btDispatcher *dispatcher, btCollisionWorld *colWorld)
: check sleeping conditions!
Member btSimulationIslandManagerMt::addManifoldsToIslands (btDispatcher *dispatcher)
: check sleeping conditions!
Member btSimulationIslandManagerMt::buildAndProcessIslands (btDispatcher *dispatcher, btCollisionWorld *collisionWorld, btAlignedObjectArray< btTypedConstraint * > &constraints, const SolverParams &solverParams)

: this is random access, it can be walked 'cache friendly'!

: check sleeping conditions!

Member btSoftBody::setCollisionShape (btCollisionShape *collisionShape)
: avoid internal softbody shape hack and move collision code to collision library
Member btSparseSdf< CELLSIZE >::GarbageCollect (int lifetime=256)
: Reset puid's when int range limit is reached *‍/
Member btSphereTriangleCollisionAlgorithm::processCollision (const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap, const btDispatcherInfo &dispatchInfo, btManifoldResult *resultOut)
: tighter bounds
Member btTriangleMesh::findOrAddVertex (const btVector3 &vertex, bool removeDuplicateVertices)
: could use acceleration structure for this
Member calculateTemporalAabb (const btTransform &curTrans, const btVector3 &linvel, const btVector3 &angvel, btScalar timeStep, btVector3 &temporalAabbMin, btVector3 &temporalAabbMax) const
: simd would have a vector max/min operation, instead of per-element access
Member getAngularMotionDisc () const
cache this value, to improve performance
Member getContactBreakingThreshold () const
: get this margin from the current physics / collision environment
Page GHOST
write WIP section
Class GIM_CONTACT
: remove and replace GIM_CONTACT by btManifoldPoint.
File IMB_imbuf_types.h
Clean up includes.
Module Island Boundary Walker

Add restriction flag/callback for wire edges.

Module Island Walker

Add restriction flag/callback for wire edges.

Member matcopybuf
matcopybuf.nodetree's node->id's are NOT validated, this will crash!
File png.c
Save floats as 16 bits per channel, currently readonly.
Member quantize (unsigned short *out, const btVector3 &point, int isMax) const
: double-check this
Member setEulerZYX (btScalar eulerX, btScalar eulerY, btScalar eulerZ)
proposed to reverse this since it's labeled zyx but takes arguments xyz and it will match all other parts of the code
Module Shell Walker

Add restriction flag/callback for wire edges.

Member synchronizeSingleMotionState (btRigidBody *body)
: add 'dirty' flag
Member uiTemplateLayers (uiLayout *layout, struct PointerRNA *ptr, const char *propname, struct PointerRNA *used_ptr, const char *used_propname, int active_layer)
for now, grouping of layers is determined by dividing up the length of the array of layer bitflags
Page windowmanager
document