You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A new constraint will be marked dirty (flag ConstraintCore::mIsDirty ) and will be registered inside NpScene::mDirtyConstraints.
Both array and flag are cleaned inside a simulation (NpScene::updateDirtyShaders).
The call to immediate::PxCreateJointConstraintsWithShaders will trigger a call to PxConstraintAdapter::getData causing the constraint to be marked as clean but not removed from the dirty array of the scene.
Code Snippet to Reproduce Behavior
There might be some useless code here. But from HelloWorldSnippet inside InitPhysics:
Remove the NpConstraint::markClean inside PxConstraintAdapter::getData. This will probably cause a 2nd call to prepareData in the simulation.
Remove from NpScene::mDirtyConstraints as we lower the dirty flag. Doing this will result in a different "cleaning" code. This will not make all the calls that are inside NpConstraint::updateConstants (PVD update, and PxsSimulationController::updateJoint).
We are not actually sure of what option is the best. Is our usage of PxCreateJointConstraintsWithShaders right (in term of API calls)?
Actual Behavior
Dirty bool and array are not in sync
The text was updated successfully, but these errors were encountered:
Library and Version
PhysX v5.3.0 (last commit on trunk)
Operating System
Windows 10
Steps to Trigger Behavior
immediate::PxCreateJointConstraintsWithShaders
A new constraint will be marked dirty (flag
ConstraintCore::mIsDirty
) and will be registered insideNpScene::mDirtyConstraints
.Both array and flag are cleaned inside a simulation (
NpScene::updateDirtyShaders
).The call to
immediate::PxCreateJointConstraintsWithShaders
will trigger a call toPxConstraintAdapter::getData
causing the constraint to be marked as clean but not removed from the dirty array of the scene.Code Snippet to Reproduce Behavior
There might be some useless code here. But from HelloWorldSnippet inside
InitPhysics
:Expected Behavior
There is 2 options here.
NpConstraint::markClean
insidePxConstraintAdapter::getData
. This will probably cause a 2nd call toprepareData
in the simulation.NpScene::mDirtyConstraints
as we lower the dirty flag. Doing this will result in a different "cleaning" code. This will not make all the calls that are insideNpConstraint::updateConstants
(PVD update, andPxsSimulationController::updateJoint
).We are not actually sure of what option is the best. Is our usage of
PxCreateJointConstraintsWithShaders
right (in term of API calls)?Actual Behavior
Dirty bool and array are not in sync
The text was updated successfully, but these errors were encountered: