Forum

Software Quake MDL Frame Interpolation

Post tutorials on how to do certain tasks within game or engine code here.

Moderator: InsideQC Admins

Postby Baker » Sat Jun 26, 2010 3:06 pm

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 ..
User avatar
Baker
 
Posts: 3661
Joined: Tue Mar 14, 2006 5:15 am

Postby frag.machine » Sat Jun 26, 2010 3:34 pm

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)
User avatar
frag.machine
 
Posts: 2052
Joined: Sat Nov 25, 2006 1:49 pm

Postby qbism » Sat Jun 26, 2010 4:07 pm

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.
User avatar
qbism
 
Posts: 1235
Joined: Thu Nov 04, 2004 5:51 am

Postby mh » Sat Jun 26, 2010 4:35 pm

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
User avatar
mh
 
Posts: 2286
Joined: Sat Jan 12, 2008 1:38 am

Postby qbism » Sat Jun 26, 2010 6:10 pm

CL_ClearInterpolation looks especially handy!
User avatar
qbism
 
Posts: 1235
Joined: Thu Nov 04, 2004 5:51 am

Postby Baker » Fri Jul 02, 2010 1:47 am

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 ..
User avatar
Baker
 
Posts: 3661
Joined: Tue Mar 14, 2006 5:15 am

Postby mh » Fri Jul 02, 2010 9:06 am

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
User avatar
mh
 
Posts: 2286
Joined: Sat Jan 12, 2008 1:38 am

Postby leileilol » Thu Nov 04, 2010 12:47 pm

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
leileilol
 
Posts: 2783
Joined: Fri Oct 15, 2004 3:23 am

Postby Vic » Sun Nov 07, 2010 12:48 am

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.
User avatar
Vic
 
Posts: 17
Joined: Sun Nov 07, 2010 12:42 am

Postby leileilol » Sun Nov 07, 2010 1:04 am

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
leileilol
 
Posts: 2783
Joined: Fri Oct 15, 2004 3:23 am

Postby qbism » Sun Nov 07, 2010 3:16 am

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.
User avatar
qbism
 
Posts: 1235
Joined: Thu Nov 04, 2004 5:51 am

Postby Vic » Sun Nov 07, 2010 11:43 am

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.
User avatar
Vic
 
Posts: 17
Joined: Sun Nov 07, 2010 12:42 am

Postby Baker » Tue Nov 09, 2010 3:55 pm

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 ..
User avatar
Baker
 
Posts: 3661
Joined: Tue Mar 14, 2006 5:15 am

Re: Software Quake MDL Frame Interpolation

Postby leileilol » Tue Dec 18, 2012 2:38 am

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
leileilol
 
Posts: 2783
Joined: Fri Oct 15, 2004 3:23 am

Re: Software Quake MDL Frame Interpolation

Postby mankrip » Tue Dec 18, 2012 4:27 am

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
User avatar
mankrip
 
Posts: 908
Joined: Fri Jul 04, 2008 3:02 am

PreviousNext

Return to Programming Tutorials

Who is online

Users browsing this forum: No registered users and 1 guest