View previous topic :: View next topic |
Author |
Message |
Dr. Shadowborg Inside3D Staff

Joined: 16 Oct 2004 Posts: 726
|
Posted: Thu Jan 28, 2010 8:11 pm Post subject: |
|
|
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 |
|
 |
mh

Joined: 12 Jan 2008 Posts: 910
|
Posted: Thu Jan 28, 2010 8:22 pm Post subject: |
|
|
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 |
|
 |
Sajt
Joined: 16 Oct 2004 Posts: 1026
|
Posted: Thu Jan 28, 2010 9:44 pm Post subject: |
|
|
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 |
|
 |
mh

Joined: 12 Jan 2008 Posts: 910
|
|
Back to top |
|
 |
Sajt
Joined: 16 Oct 2004 Posts: 1026
|
Posted: Thu Jan 28, 2010 9:58 pm Post subject: |
|
|
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 |
|
 |
Urre

Joined: 05 Nov 2004 Posts: 1073 Location: Sweden
|
Posted: Thu Jan 28, 2010 11:18 pm Post subject: |
|
|
Urre approves. _________________ Look out for Twigboy |
|
Back to top |
|
 |
Dr. Shadowborg Inside3D Staff

Joined: 16 Oct 2004 Posts: 726
|
Posted: Thu Jan 28, 2010 11:57 pm Post subject: |
|
|
Groovilicious  _________________ "Roboto suggests Plasma Bazooka." |
|
Back to top |
|
 |
Baker

Joined: 14 Mar 2006 Posts: 1538
|
Posted: Fri Jan 29, 2010 1:19 am Post subject: |
|
|
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 |
|
 |
metlslime
Joined: 05 Feb 2008 Posts: 177
|
Posted: Fri Jan 29, 2010 2:15 am Post subject: |
|
|
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 |
|
 |
dreadlorde

Joined: 24 Nov 2009 Posts: 86
|
Posted: Fri Jan 29, 2010 3:09 am Post subject: |
|
|
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 |
|
 |
Baker

Joined: 14 Mar 2006 Posts: 1538
|
Posted: Fri Jan 29, 2010 5:47 am Post subject: |
|
|
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 |
|
 |
Sajt
Joined: 16 Oct 2004 Posts: 1026
|
Posted: Fri Jan 29, 2010 5:54 am Post subject: |
|
|
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 |
|
 |
Error Inside3D Staff

Joined: 05 Nov 2004 Posts: 558 Location: VA, USA
|
|
Back to top |
|
 |
Sajt
Joined: 16 Oct 2004 Posts: 1026
|
Posted: Fri Jan 29, 2010 7:02 am Post subject: |
|
|
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 |
|
 |
ceriux

Joined: 06 Sep 2008 Posts: 969 Location: Florida, USA
|
|
Back to top |
|
 |
|