The Style Of Nexuiz (Updates you want)

Developer discussion of experimental fixes, changes, and improvements.

Moderators: Nexuiz Moderators, Moderators

What do you think?

I support all your ideas
11
41%
I support most of your ideas
7
26%
I support some of your ideas
6
22%
I support none of your ideas
3
11%
 
Total votes : 27

Postby Lee_Stricklin » Wed May 27, 2009 9:24 am

d00d! those blur screens look pretty kick ass! I can imagine seeing something on the same level as the first one while tromping around at like 60MPH and something like the second one when you boost yourself at like 120MPH.
Lee_Stricklin
Alien trapper
 
Posts: 404
Joined: Sat Jun 21, 2008 8:42 pm
Location: Midwest

Postby mand1nga » Wed May 27, 2009 12:25 pm

Samual wrote:Never mind, I got the glsl thing to work.... What you left out is that we have to use r_glsl_postprocess_uservec1 for setting the individual options.. Now, I use "1 1 0 0" and I think it makes a pretty decent depth of field - I like it.

I do have one question though, what are the other arguments? (Arg 3 and Arg 4?).. What do they do, I mean.


I'm really sorry for the wrong cvar, I posted that late yesterday right before going to sleep. I don't know the meaning of the other parameters, but probably they are not used, you should check how the effect is done in Darkplaces. But also you probably don't want to touch that unless you want to modify the blur effect.
For more info about the glsl language see this.
mand1nga
Alien trapper
 
Posts: 321
Joined: Mon May 12, 2008 12:19 am

Postby terencehill » Wed May 27, 2009 12:31 pm

I've understood the right command to use, it's
Code: Select all
cl_cmd blurtest x y z
where x is the time, y the radius, z the power. I thought to use sv_cmd coz the help said that was the command, but the help was WRONG! That's cl_cmd, not sv_cmd. I've made a quick patch to fix it.

r_glsl_postprocess 1
r_glsl_postprocess_uservec1 "3 5 0 0" // 1st arg: radius, 2nd: power

The comment here isn't correct, since those values are the result of some operations on x y z, being y and z the real radius and power.

Anyway, for some reasons, after I've played with those cvars as Mand1nga suggested, the blur effect was working, now that I've found the right command, it does NOTHING!!! WTH! It should change r_glsl_postprocess and r_glsl_postprocess_uservec1, but they stay 0. I've tried many values... I dont get it...
terencehill
Alien
 
Posts: 176
Joined: Thu Jul 10, 2008 10:33 pm
Location: Italy

Postby terencehill » Wed May 27, 2009 12:56 pm

Lee_Stricklin wrote:d00d! those blur screens look pretty kick ass! I can imagine seeing something on the same level as the first one while tromping around at like 60MPH and something like the second one when you boost yourself at like 120MPH.


I don't like this blur effect, the effect that rly kicks ass is the MOTION blur. It blurs only the part of the screen moving, the faster the movement, the stronger the effect. An example is the wonderful video Octobre by Pavlvs (it's applied by a video editor, not by the game, obviously).
terencehill
Alien
 
Posts: 176
Joined: Thu Jul 10, 2008 10:33 pm
Location: Italy

Postby Samual » Wed May 27, 2009 2:34 pm

terencehill wrote:
Lee_Stricklin wrote:d00d! those blur screens look pretty kick ass! I can imagine seeing something on the same level as the first one while tromping around at like 60MPH and something like the second one when you boost yourself at like 120MPH.


I don't like this blur effect, the effect that rly kicks ass is the MOTION blur. It blurs only the part of the screen moving, the faster the movement, the stronger the effect. An example is the wonderful video Octobre by Pavlvs (it's applied by a video editor, not by the game, obviously).

I feel the same way. Love the video. But I do like the depth of field blur too. Where objects further away are blurred compared to closer objects.... I accomplish this with:
Code: Select all
r_glsl_postprocess_uservec1 "1 1 0 0"

I think it looks nice, what's your opinion on it?
Samual
Keyboard killer
 
Posts: 508
Joined: Mon May 25, 2009 7:22 pm
Location: Pittsburgh, PA

Postby mand1nga » Wed May 27, 2009 2:55 pm

r_glsl_postprocess 1
r_glsl_postprocess_uservec1 "3 5 0 0" // 1st arg: radius, 2nd: power

The comment here isn't correct, since those values are the result of some operations on x y z, being y and z the real radius and power.



No, I'am right, as the time parameter works only with the blurtest command and handled from qc.

Samual wrote:I feel the same way. Love the video. But I do like the depth of field blur too. Where objects further away are blurred compared to closer objects.... I accomplish this with:
Code: Select all
r_glsl_postprocess_uservec1 "1 1 0 0"

I think it looks nice, what's your opinion on it?


I guess it is too light, maybe the radius can be increased according to the damage received
mand1nga
Alien trapper
 
Posts: 321
Joined: Mon May 12, 2008 12:19 am

Postby terencehill » Wed May 27, 2009 5:03 pm

mand1nga wrote:
r_glsl_postprocess 1
r_glsl_postprocess_uservec1 "3 5 0 0" // 1st arg: radius, 2nd: power

The comment here isn't correct, since those values are the result of some operations on x y z, being y and z the real radius and power.


No, I'am right, as the time parameter works only with the blurtest command and handled from qc.


If u r right then, in main.qc code these variable names aren't correct:
Code: Select all
if(cmd == "blurtest") {
      blurtest_time0 = time;
      blurtest_time1 = time + stof(argv(1)); // argv(1) is x
      blurtest_radius = stof(argv(2)); // argv(2) is y
      blurtest_power = stof(argv(3)); // argv(3) is z
   }

r_glsl_postprocess_uservec1 is generated using those variables in the file view.qc:
Code: Select all
   if(time > blurtest_time0 && time < blurtest_time1)
   {
      float r, t;

      t = (time - blurtest_time0) / (blurtest_time1 - blurtest_time0);
      r = t * blurtest_radius;
      f = 1 / pow(t, blurtest_power) - 1;

      cvar_set("r_glsl_postprocess", "1");
      cvar_set("r_glsl_postprocess_uservec1", strcat(ftos(r), " ", ftos(f), " 0 0"));
   }
   else
   {
      cvar_set("r_glsl_postprocess", "0");
      cvar_set("r_glsl_postprocess_uservec1", "0 0 0 0");
   }


Anyway It seems to me that there is something wrong with the time (or is it an intended behaviour?), that could be the reason why the command cl_cmd blurtest doesn't work and set always r_glsl_postprocess and r_glsl_postprocess_uservec1 to 0.
terencehill
Alien
 
Posts: 176
Joined: Thu Jul 10, 2008 10:33 pm
Location: Italy

Postby Samual » Wed May 27, 2009 7:00 pm

Alright well I did something wrong here, I wrote a small AccumBuffer and something just isn't working. Halp!!!!!

Code: Select all
extern cvar_t r_motionblur;
extern cvar_t r_frametime

void DrawAccumBlur (void)
{
   static int blurstate = 0;
   float accblur;
   static float damagetime = -1.0f;
   if (!r_motionblur.value) return;
   if (cl.stats[STAT_HEALTH] <= 0)
   {
      accblur = 0.75f;
   }
   else if (cl.cshifts[CSHIFT_DAMAGE].percent)
   {
      accblur = 0.75f;
      damagetime = 0.5f;
   }
   else if (damagetime >= 0.0f)
   {
      damagetime -= r_frametime;
      accblur = 0.75f;
   }
   else if (cl.cshifts[CSHIFT_CONTENTS].percent)
   {
      accblur = 0.666f;
   }
   else accblur = -1.0f;

   if (accblur <= 0.0f)
   {
      blurstate = 0;
      return;
   }

   if (!blurstate)
   {
      glAccum (GL_LOAD, 1.0f);
   }
   else
   {
      glAccum (GL_MULT, accblur);
      glAccum (GL_ACCUM, 1.0f - accblur);
      glAccum (GL_RETURN, 1.0f);
   }

   blurstate = 1;
}

And don't forget to add to the render
Code: Select all
DrawAccumBlur ();


But something still doesn't work. If someone is able to get this to work, please tell me how. (And make a video?)
Samual
Keyboard killer
 
Posts: 508
Joined: Mon May 25, 2009 7:22 pm
Location: Pittsburgh, PA

Postby merlijn » Wed May 27, 2009 8:31 pm

About the server rating thing: Let's not do this. It will only cause the already popular servers to become more and more popular leaving many other (new) servers empty. Not to mention that a system for this would generally be quite easy to abuse in many different ways. Sorting servers by means of the bookmarks, ping and empty/full switches is more than enough. Only thing I'd personally like is to have bookmarked servers always shown (full/empty don't affect them).

About the authentication thing: there is a long thread that has been moved to the trash for offtopic nonsense. Despite this setback there is a lot of good (implementation) discussion. Doing this the right way will be fairly heavy job, but I'd be happy to talk about the concepts of how this should work.
Before posting a reply, please read about the bikeshed
merlijn
Advanced member
 
Posts: 84
Joined: Tue Oct 21, 2008 10:18 am

Postby Samual » Wed May 27, 2009 8:41 pm

merlijn wrote:About the server rating thing: Let's not do this. It will only cause the already popular servers to become more and more popular leaving many other (new) servers empty. Not to mention that a system for this would generally be quite easy to abuse in many different ways. Sorting servers by means of the bookmarks, ping and empty/full switches is more than enough. Only thing I'd personally like is to have bookmarked servers always shown (full/empty don't affect them).

About the authentication thing: there is a long thread that has been moved to the trash for offtopic nonsense. Despite this setback there is a lot of good (implementation) discussion. Doing this the right way will be fairly heavy job, but I'd be happy to talk about the concepts of how this should work.


At the very least we need to improve the filters. More options, etc. And the authentication would probably only be possible by divs help, and we all know he isn't going to do it.. So I doubt that will actually happen (Though I would like it).
Samual
Keyboard killer
 
Posts: 508
Joined: Mon May 25, 2009 7:22 pm
Location: Pittsburgh, PA

PreviousNext

Return to Nexuiz - Development

Who is online

Users browsing this forum: No registered users and 1 guest

cron