-
Notifications
You must be signed in to change notification settings - Fork 51
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Potential non-deterministic behavior in particle emitter (ogre2) #556
Comments
I haven't looked much into this, for what is worth I've been thinking there's two possible solutions:
The 2nd option is highly desirable because it will also fix other stuff I just realized we were overlooking: For example any time-based postprocessing FX (if there's any, I think the gaussian noise is using it) should be using simulation time, not real time. |
This fixes Particle FXs not respecting simulation time Fixes gazebosim#556 Signed-off-by: Matias N. Goldberg <[email protected]>
This fixes Particle FXs not respecting simulation time Fixes gazebosim#556 Signed-off-by: Matias N. Goldberg <[email protected]>
This fixes Particle FXs not respecting simulation time Fixes gazebosim#556 Signed-off-by: Matias N. Goldberg <[email protected]>
This fixes Particle FXs not respecting simulation time Fixes gazebosim#556 Signed-off-by: Matias N. Goldberg <[email protected]>
See gazebosim/gz-rendering#556 See gazebosim/gz-rendering#584 Signed-off-by: Matias N. Goldberg <[email protected]>
This fixes Particle FXs not respecting simulation time Fixes gazebosim#556 Signed-off-by: Matias N. Goldberg <[email protected]>
See gazebosim/gz-rendering#556 See gazebosim/gz-rendering#584 Signed-off-by: Matias N. Goldberg <[email protected]>
* Use custom simulation time variants for Ogre This fixes Particle FXs not respecting simulation time Fixes #556 Signed-off-by: Matias N. Goldberg <[email protected]>
We should either reopen this ticket or create a new one because there is still one source of non-determinism to fix: // Ideal:
const float timeToSimulate = 10 seconds;
const int numTicks = floor( timeToSimulate / tickRate );
for( int i = 0; i < numTicks; ++i )
updateParticles( tickRate );
// What is happening when you relaunch the GUI with a simulation of 10 seconds
const float timeToSimulate = 10 seconds;
updateParticles( timeToSimulate ); // Just one tick with 10.0 as tick rate |
github auto-closed the issue with the merge of #584. Reopening. |
I've pushed OGRECave/ogre-next@d3bd8b4 to branches:
AFAICT it won't break ABI nor API. By calling Now the thing is getting this patch into Ignition's fork. |
thanks, we'll likely just have this fix in Garden with ogre 2.3. So I'll keep in mind to test this as part of the review of your existing PR, #553. |
Environment
Description
The particle emitter in ogre2 uses the Particle FX plugin. The plugin likely animates the particles using real time so the effect could be non-deterministic.
Steps to reproduce
<real_time_factor>
in particle_emitter2.sdf file to0
so simulation runs as fast as possible.particle_emitter2.sdf
worldThe text was updated successfully, but these errors were encountered: