I haven't been able to check yet but this should be easy to replicate. Fire a rocket with the particle trails on and freeze the game, then let the game continue. You'll notice jittering of the particles due to continuous interpolation.
One could say this is a non-issue, until you play D4D where you have the option to have particles act like bullets. That's a problem, because there is an upgrade with the megasphere which allows time to be frozen upon picking one up, and it looks awful.
Particles interpolate during time freeze
Moderator: GZDoom Developers
Forum rules
Please don't bump threads here if you have a problem - it will often be forgotten about if you do. Instead, make a new thread here.
Please don't bump threads here if you have a problem - it will often be forgotten about if you do. Instead, make a new thread here.
- Major Cooke
- Posts: 8170
- Joined: Sun Jan 28, 2007 3:55 pm
- Preferred Pronouns: He/Him
- Location: QZDoom Maintenance Team
- Graf Zahl
- Lead GZDoom+Raze Developer
- Posts: 49056
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
Re: Particles interpolate during time freeze
I already suspected some problems when I saw how the interpolation was implemented, but since so far nothing showed I let it stand.
Re: Particles interpolate during time freeze
It uses pretty much the same 'freeze' checks as the model interpolation code. If the particle interpolation is broken, it's likely that model interpolation is as well.
- Graf Zahl
- Lead GZDoom+Raze Developer
- Posts: 49056
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
Re: Particles interpolate during time freeze
If I read the code properly it doesn't actually do interpolation but extrapolation, i.e. it projects the particle based on velocity instead of using a value between 2 known positions - and I don't think that actually works as intended.
Re: Particles interpolate during time freeze
Yes, that is correct. I did not know that's what it was called, though.
Re: Particles interpolate during time freeze
The original issue is addressed here.
However, I did not yet address the interpolate-by-last-frame issue.
However, I did not yet address the interpolate-by-last-frame issue.