[Models] Interpolation of hidden model frames

Remember, just because you request it, that doesn't mean you'll get it.

Moderator: GZDoom Developers

[Models] Interpolation of hidden model frames

Postby Cherno » Fri Mar 12, 2021 2:06 am

This is a bit difficult to explain :)

A model frame that is set to render (> -1) will not do so if the frame it interpolates towards is set to not render (-1).

This will not render POSS A:
Code: Select allExpand view
FrameIndex POSS A 0 99
FrameIndex POSS B 0 -1

This will render:
Code: Select allExpand view
FrameIndex POSS A 0 99
FrameIndex POSS B 0 100

I have become aware of this issue with a monster that haas a walking+shooting animation. the muzzelflash is a submodel and obviously only renders for some frames (when shoooting). The things are, I can't interpolate the walking animation while also making the muzzleflash model frame show in between.

What I would like to see is simple: interpolate as usual, and stop rendering the model when the new frame is reached. This sounds logical to me.

I have looked into the source code but wasn't able to find out what prevents the current frame to not render if the next one should not.
I assume it's somewhere in models.cpp: RenderFrameModels() and/or models_md3.cpp.RenderFrame().
User avatar
Joined: 06 Dec 2016

Re: [Models] Interpolation of hidden model frames

Postby Marisa Kirisame » Fri Mar 12, 2021 3:48 pm

I think what this needs is the special case I added in the UE1 model renderer where it will "hide" (actually skip over) surfaces that have their skin set to null.
User avatar
Marisa Kirisame
ZScript Crimester
Joined: 08 Feb 2008
Location: Vigo, Galicia
Discord: 霧雨魔理沙#1666
Twitch ID: magusmarisa
Github ID: OrdinaryMagician
Operating System: Other Linux 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia with Vulkan support

Return to Feature Suggestions

Who is online

Users browsing this forum: doomfiend and 0 guests