Inside3D!
     

GoldQuake : Improved WinQuake
Goto page Previous  1, 2, 3, 4  Next
 
Post new topic   Reply to topic    Inside3d Forums Forum Index -> Engine Programming
View previous topic :: View next topic  
Author Message
Dr. Shadowborg
Inside3D Staff


Joined: 16 Oct 2004
Posts: 726

PostPosted: Thu Jan 28, 2010 8:11 pm    Post subject: Reply with quote

mh wrote:
The way DirectQ does it is actually by checking for movement of triangles between frame 0 and frame 1; if they move beyond a certain threshold value then those triangles only are not interpolated (other triangles in the model are). It's called from R_DrawViewModel so we can be certain that the model checked actually is a viewmodel (using models beginning with v_ is not valid as even an ID1 model that ain't a viewmodel begins with v_), and is set up so that it only gets called once per model.

Overall a little hacky but it works fine in every test case so far.


Interesting, does this work on models that have multiple variations of muzzleflash? ex. assault guns with a rapid fire frames and grenade launcher frames?
_________________
"Roboto suggests Plasma Bazooka."
Back to top
View user's profile Send private message
mh



Joined: 12 Jan 2008
Posts: 909

PostPosted: Thu Jan 28, 2010 8:22 pm    Post subject: Reply with quote

Dr. Shadowborg wrote:
mh wrote:
The way DirectQ does it is actually by checking for movement of triangles between frame 0 and frame 1; if they move beyond a certain threshold value then those triangles only are not interpolated (other triangles in the model are). It's called from R_DrawViewModel so we can be certain that the model checked actually is a viewmodel (using models beginning with v_ is not valid as even an ID1 model that ain't a viewmodel begins with v_), and is set up so that it only gets called once per model.

Overall a little hacky but it works fine in every test case so far.


Interesting, does this work on models that have multiple variations of muzzleflash? ex. assault guns with a rapid fire frames and grenade launcher frames?

It should in principle because it's completely agnostic towards the model. Everything is done on a triangle-by-triangle basis (actually vertex by vertex, but they need to come from triangles), only back-to-front movement is checked (I forgot that bit in my initial explanation), and each result is totally in isolation from every other one.

The gotcha here is that it only checks frame 0 against frame 1, so it's obviously dependent on the data in those two frames being reasonably representative of the full thing. It should be easy enough to extend to check frame 0 vs all frames, accumulate a count of passes and fails, then fudge something based on that count.

Worst case is that it's either going to be no different from if it wasn't done, or stuff with large movement between the frames that's not a muzzleflash won't be interpolated (so no different than GLQuake).

The obvious correct solution is to build the model with interpolation in mind, of course.
_________________
DirectQ Engine - New release 1.8.666a, 9th August 2010
MHQuake Blog (General)
Direct3D 8 Quake Engines
Back to top
View user's profile Send private message Visit poster's website
Sajt



Joined: 16 Oct 2004
Posts: 1026

PostPosted: Thu Jan 28, 2010 9:44 pm    Post subject: Reply with quote

I've noted down all your requests!

By the way, I've named the engine "GoldQuake", which is short for "Good Old Quake".
_________________
F. A. Špork, an enlightened nobleman and a great patron of art, had a stately Baroque spa complex built on the banks of the River Labe.
Back to top
View user's profile Send private message
mh



Joined: 12 Jan 2008
Posts: 909

PostPosted: Thu Jan 28, 2010 9:50 pm    Post subject: Reply with quote

Excellent! I'm really looking forward to seeing what comes out of this. Very Happy
_________________
DirectQ Engine - New release 1.8.666a, 9th August 2010
MHQuake Blog (General)
Direct3D 8 Quake Engines
Back to top
View user's profile Send private message Visit poster's website
Sajt



Joined: 16 Oct 2004
Posts: 1026

PostPosted: Thu Jan 28, 2010 9:58 pm    Post subject: Reply with quote

And the SVN is now up at http://svn.icculus.org/qshed/trunk/goldquake!
_________________
F. A. Špork, an enlightened nobleman and a great patron of art, had a stately Baroque spa complex built on the banks of the River Labe.
Back to top
View user's profile Send private message
Urre



Joined: 05 Nov 2004
Posts: 1073
Location: Sweden

PostPosted: Thu Jan 28, 2010 11:18 pm    Post subject: Reply with quote

Urre approves.
_________________
Look out for Twigboy
Back to top
View user's profile Send private message Visit poster's website
Dr. Shadowborg
Inside3D Staff


Joined: 16 Oct 2004
Posts: 726

PostPosted: Thu Jan 28, 2010 11:57 pm    Post subject: Reply with quote

Groovilicious Very Happy
_________________
"Roboto suggests Plasma Bazooka."
Back to top
View user's profile Send private message
Baker



Joined: 14 Mar 2006
Posts: 1538

PostPosted: Fri Jan 29, 2010 1:19 am    Post subject: Reply with quote

Quake hasn't seen the amount engine development going on right now in years.
_________________
Tomorrow Never Dies. I feel this Tomorrow knocking on the door ...
Back to top
View user's profile Send private message
metlslime



Joined: 05 Feb 2008
Posts: 177

PostPosted: Fri Jan 29, 2010 2:15 am    Post subject: Reply with quote

The EF_MUZZLEFLASH trick is the way Fitzquake does it, actually. Works unless the modder decided not to use that effect (i think one of the Quoth enforcer variants doesn't have a muzzleflash for one of its attacks...)
Back to top
View user's profile Send private message
dreadlorde



Joined: 24 Nov 2009
Posts: 86

PostPosted: Fri Jan 29, 2010 3:09 am    Post subject: Reply with quote

Svn? *shudders*
_________________
Ken Thompson wrote:
One of my most productive days was throwing away 1000 lines of code.

Get off my lawn!
Back to top
View user's profile Send private message AIM Address
Baker



Joined: 14 Mar 2006
Posts: 1538

PostPosted: Fri Jan 29, 2010 5:47 am    Post subject: Reply with quote

More aguirRe WinQuake edge/surf wrote:
Cvar_SetValue ("r_maxedges", (float)100000); //NUMSTACKEDGES
Cvar_SetValue ("r_maxsurfs", (float)100000); //NUMSTACKSURFACES


aguirRe's software wizardry to render areas with a lot of surfaces.

Also: no big deal but in r_drawentities there is a minor bug in original WinQuake. It may be as simple as the fact it draws the viewmodel when it not supposed to. Been a long time.
_________________
Tomorrow Never Dies. I feel this Tomorrow knocking on the door ...
Back to top
View user's profile Send private message
Sajt



Joined: 16 Oct 2004
Posts: 1026

PostPosted: Fri Jan 29, 2010 5:54 am    Post subject: Reply with quote

If you think that r_drawentities should not draw viewmodels (and DarkPlaces seems to agree with you), I can do that.
_________________
F. A. Špork, an enlightened nobleman and a great patron of art, had a stately Baroque spa complex built on the banks of the River Labe.
Back to top
View user's profile Send private message
Error
Inside3D Staff


Joined: 05 Nov 2004
Posts: 558
Location: VA, USA

PostPosted: Fri Jan 29, 2010 7:01 am    Post subject: Reply with quote

you could ask FrikaC if he has the source for FrikQuake. it was a upgraded winquake engine. had frik_file and model alpha, water alpha, etc.
_________________
Inside3D : Knowledge Is Power
Darkplaces Documentation Wiki
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger MSN Messenger
Sajt



Joined: 16 Oct 2004
Posts: 1026

PostPosted: Fri Jan 29, 2010 7:02 am    Post subject: Reply with quote

FrikQuake...now there's a name I haven't heard in a while. I don't think I ever got my hands on it.
_________________
F. A. Špork, an enlightened nobleman and a great patron of art, had a stately Baroque spa complex built on the banks of the River Labe.
Back to top
View user's profile Send private message
ceriux



Joined: 06 Sep 2008
Posts: 968
Location: Florida, USA

PostPosted: Fri Jan 29, 2010 7:15 am    Post subject: Reply with quote

i wish i could have.
_________________
QuakeDB - Quake ModDB Group
Back to top
View user's profile Send private message Yahoo Messenger
Display posts from previous:   
Post new topic   Reply to topic    Inside3d Forums Forum Index -> Engine Programming All times are GMT
Goto page Previous  1, 2, 3, 4  Next
Page 2 of 4

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2004 phpBB Group