Software Quake MDL Frame Interpolation

Post tutorials on how to do certain tasks within game or engine code here.
Baker
Posts: 3666
Joined: Tue Mar 14, 2006 5:15 am

Post by Baker »

mh wrote:Does anybody aside from you use these regularly these days? :lol: :lol: :lol:
DOSBox compatibility?
MH wrote:[ontopic]It's really kinda weird looking at frame interpolation in software Quake, isn't it?[/ontopic]
It is really strange to see. Stranger that I have it in an engine now (download - r_interpolate_animation 1 to enable).

It should be awesome in FlashQuake, but haven't built that version yet. Either way, thanks a ton, MH ;)

(I need to add transform in so badly now, heh. Tomorrow's fun, no doubt.)
The night is young. How else can I annoy the world before sunsrise? 8) Inquisitive minds want to know ! And if they don't -- well like that ever has stopped me before ..
frag.machine
Posts: 2126
Joined: Sat Nov 25, 2006 1:49 pm

Post by frag.machine »

leileilol wrote:
mh wrote:
Spike wrote:[offtopic]And you might as well implement lightstyle smoothing, if disabled, its only one cvar check per frame, just maybe not default it to enabled. Some people prefer it, but yeah, flickering torches. Or if you like hacks, you could interpolate based on difference between the styles, if its too different, no interpolation. The expense is in the lightmaps, not the actual lightstyle values themselves.[/offtopic]
[offtopic]It occurs to me that many of the lightstyles in Quake are not actually meant to be interpolated. Maybe the slow pulses, yes, but flickering torches and strobes? No way.[/offtopic]
[offtopic]Interpolating lightstyles kill 486s and non-Pentiums, so don't do it![/offtopic]
Yeah, let's stop tinkering and improving Quake gameplay because it won't work in your 486. :roll:
I know FrikaC made a cgi-bin version of the quakec interpreter once and wrote part of his website in QuakeC :) (LordHavoc)
qbism
Posts: 1236
Joined: Thu Nov 04, 2004 5:51 am
Contact:

Post by qbism »

It should be awesome in FlashQuake, but haven't built that version yet. Either way, thanks a ton, MH ;)

(I need to add transform in so badly now, heh. Tomorrow's fun, no doubt.)
Could look at ToChris or Makaqu as a guide for porting to ProQ.
mh
Posts: 2292
Joined: Sat Jan 12, 2008 1:38 am

Post by mh »

Look for CL_EntityInterpolateOrigins, CL_EntityInterpolateAngles and CL_ClearInterpolation in DirectQ. It's all there in a manner that should be friendly to software Quake. ;)
We had the power, we had the space, we had a sense of time and place
We knew the words, we knew the score, we knew what we were fighting for
qbism
Posts: 1236
Joined: Thu Nov 04, 2004 5:51 am
Contact:

Post by qbism »

CL_ClearInterpolation looks especially handy!
Baker
Posts: 3666
Joined: Tue Mar 14, 2006 5:15 am

Post by Baker »

mh wrote:Look for CL_EntityInterpolateOrigins, CL_EntityInterpolateAngles and CL_ClearInterpolation in DirectQ. It's all there in a manner that should be friendly to software Quake. ;)
Works perfectly. The animations plus the transform are nice as I've ever seen interpolation in a Quake engine.
The night is young. How else can I annoy the world before sunsrise? 8) Inquisitive minds want to know ! And if they don't -- well like that ever has stopped me before ..
mh
Posts: 2292
Joined: Sat Jan 12, 2008 1:38 am

Post by mh »

Baker wrote:
mh wrote:Look for CL_EntityInterpolateOrigins, CL_EntityInterpolateAngles and CL_ClearInterpolation in DirectQ. It's all there in a manner that should be friendly to software Quake. ;)
Works perfectly. The animations plus the transform are nice as I've ever seen interpolation in a Quake engine.
:D :D :D
We had the power, we had the space, we had a sense of time and place
We knew the words, we knew the score, we knew what we were fighting for
leileilol
Posts: 2783
Joined: Fri Oct 15, 2004 3:23 am

Post by leileilol »

IG OT IT WORKING!!!!!!!!!!!! buttttt i cant turn it off without crashing when i use my old functions!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! optionals are best!!!!!!!!!!!!!!!!!!!
i should not be here
Vic
Posts: 21
Joined: Sun Nov 07, 2010 12:42 am

Post by Vic »

Look into ToChris source for asm implementation (along with C one of course) of quake models animation in the software renderer. Anyway, this was implemented like 7-8(?) years ago so I find it amazing this is still hot news over here.
leileilol
Posts: 2783
Joined: Fri Oct 15, 2004 3:23 am

Post by leileilol »

the hot news around software quake these days is because of the quake port to flash though my own motive is just catch up to dp/qsb standards as much as I can in any means possible without compromising quake's quakeness at a default.

sajt's goldquake was the same goal too, then he had that time and connection problem thing. R.I.P GoldQuake :(
i should not be here
qbism
Posts: 1236
Joined: Thu Nov 04, 2004 5:51 am
Contact:

Post by qbism »

Hi, Vic!

7 or 8 years, you say? That explains it. There was a tutorial on that, but this forum burned to the ground 6 years ago.
Vic
Posts: 21
Joined: Sun Nov 07, 2010 12:42 am

Post by Vic »

Btw, the thought of reviving ToChris keeps on popping up from time to time :) Maybe I should just proceed with it but there are higher priorities at the moment.
Baker
Posts: 3666
Joined: Tue Mar 14, 2006 5:15 am

Post by Baker »

leileilol wrote:IG OT IT WORKING!!!!!!!!!!!! buttttt i cant turn it off without crashing when i use my old functions!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! optionals are best!!!!!!!!!!!!!!!!!!!
I added it to ProQuake as an optional cvar driven feature. I figure you are doing something with djgpp though so maybe there is something it hates.
The night is young. How else can I annoy the world before sunsrise? 8) Inquisitive minds want to know ! And if they don't -- well like that ever has stopped me before ..
leileilol
Posts: 2783
Joined: Fri Oct 15, 2004 3:23 am

Re: Software Quake MDL Frame Interpolation

Post by leileilol »

Finally integrated this into Engoo (for the first time successfully after many failed attempts to get it working with Colored Lighting), but there's strange first-frame artifacts (with rocket launcher especially, which appears like it's firing too late)), and I couldn't cvar the interpolation off.
i should not be here
mankrip
Posts: 924
Joined: Fri Jul 04, 2008 3:02 am

Re: Software Quake MDL Frame Interpolation

Post by mankrip »

leileilol wrote:strange first-frame artifacts (with rocket launcher especially, which appears like it's firing too late))
The renderer has no way to know the initial velocity of any entity, because the network protocol doesn't inform that; just the position. So, all entities's movements only starts to happen on screen on the next frame after they've been spawned. This is very noticeable in the Necropolis demo, when the player fires a grenade at the ogre behind the columns. All projectiles are displayed as if they were frozen in place during their first frame, until an update message is received from the server.

This should happen in most, if not all Quake engines.
Ph'nglui mglw'nafh mankrip Hell's end wgah'nagl fhtagn.
==-=-=-=-=-=-=-=-=-=-==
Dev blog / Twitter / YouTube
Post Reply