Inside3D!
     

DP Post Processing Effects

 
Post new topic   Reply to topic    Inside3d Forums Forum Index -> QuakeC Programming
View previous topic :: View next topic  
Author Message
GiffE



Joined: 08 Oct 2006
Posts: 141
Location: USA, CT

PostPosted: Thu Oct 09, 2008 4:31 pm    Post subject: DP Post Processing Effects Reply with quote

I was just messing around in darkplaces to get some cool glsl post processing effects.
I was editting glsl/default.glsl to get a few effects which I may or may not use.

Blur:

Radial Blur:

While these are simple to make it is difficult for them to be used in a mod. (or I just do not know how to). The effects would be permanently enabled and only have static parameters.

I feel as though you should be able to call upon screen effects such as those blurs in qc, giving them parameters (amount of blur, or radius). Similar to the effectinfo.txt, capable of adding effects and calling them in qc.
Quite frankly I am unsure of how the code for that might work. I do think it should be something looked at to give modders the ability to create screen effects and such into their mods without getting into engine editing.

If I am mistaken and there is a way let me know Embarassed,
_________________
http://www.giffe-bin.net/


Last edited by GiffE on Thu Oct 09, 2008 6:15 pm; edited 1 time in total
Back to top
View user's profile Send private message Visit poster's website
ceriux



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

PostPosted: Thu Oct 09, 2008 4:52 pm    Post subject: Reply with quote

Those definitely could be cool effects in a mod/game and could be used for multiple things i hope someone helps you with this topic.
(oh and btw you mod looks amazing)
_________________
QuakeDB - Quake ModDB Group
Back to top
View user's profile Send private message Yahoo Messenger
Error
Inside3D Staff


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

PostPosted: Thu Oct 09, 2008 7:47 pm    Post subject: Reply with quote

that radial blur looks awesome. yes, someone please help him.
_________________
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
VorteX



Joined: 14 Jan 2005
Posts: 12

PostPosted: Fri Oct 10, 2008 9:47 am    Post subject: Reply with quote

DP's postprocess effects HAS dynamic parms - it's the r_glsl_postprocess_uservecX cvars, there is 4 vectors, totally holding 16 parms. This cvars can be set dynamically by CSQC, or stuffcmd'ed with SVQC.

In Deluxe Quake i just set all r_glsl_postprocess_uservec every frame in CSQC

To enable this parms in default.glsl - uncomment certain
// uniform vec4 UserVecX

BTW proper blur requires several passes to look smooth, DP currently has only one. So it has to be a bit harsh.
Back to top
View user's profile Send private message
GiffE



Joined: 08 Oct 2006
Posts: 141
Location: USA, CT

PostPosted: Fri Oct 10, 2008 11:33 am    Post subject: Reply with quote

VorteX wrote:
DP's postprocess effects HAS dynamic parms - it's the r_glsl_postprocess_uservecX cvars, there is 4 vectors, totally holding 16 parms. This cvars can be set dynamically by CSQC, or stuffcmd'ed with SVQC.

In Deluxe Quake i just set all r_glsl_postprocess_uservec every frame in CSQC

To enable this parms in default.glsl - uncomment certain
// uniform vec4 UserVecX

BTW proper blur requires several passes to look smooth, DP currently has only one. So it has to be a bit harsh.

I did see that its a very "cheap hack" way of making it work.
I also don't trust the client very much by using cvars for that info.

That blur IS done in dp and looks good enough for me, more passes would make it better looking but with single pass you can get ok results.
_________________
http://www.giffe-bin.net/
Back to top
View user's profile Send private message Visit poster's website
VorteX



Joined: 14 Jan 2005
Posts: 12

PostPosted: Fri Oct 10, 2008 12:29 pm    Post subject: Reply with quote

GiffE wrote:
Quote:
I did see that its a very "cheap hack" way of making it work.I also don't trust the client very much by using cvars for that info.
All you need is to make Client Side QC (or CSQC) update this cvars every frame (even if this will be static value) - then it can't be changed in console.

If you don't know many about CSQC, you need to learn it's basics (since it is main hub to add new client-related features without engine coding). There should be some topics about it on coding board. And i remember Urre has posted some CSQC tutorials on QExpo.

Quote:
That blur IS done in dp and looks good enough for me, more passes would make it better looking but with single pass you can get ok results.
Yeah, but blur is one of easiest to implement postprocess shaders. Some advanced ones (like screen space ambient occlusion or bloom) requires more passes. LordHavoc says that adding other passes is not hard.

Anyway - it is great to see how useful this feature could be, with working examples there can be standarts and then we can ask for new enhancements of this feature Smile

Here is my lame examples of underwater blur:


And tone mapping/eye adaptation:
tone off:


tone on:
Back to top
View user's profile Send private message
GiffE



Joined: 08 Oct 2006
Posts: 141
Location: USA, CT

PostPosted: Fri Oct 10, 2008 12:41 pm    Post subject: Reply with quote

VorteX wrote:
GiffE wrote:
Quote:
I did see that its a very "cheap hack" way of making it work.I also don't trust the client very much by using cvars for that info.
All you need is to make Client Side QC (or CSQC) update this cvars every frame (even if this will be static value) - then it can't be changed in console.


I can work my way around csqc just fine Wink and was planning on doing just as you said. (in the mean time)
I'm just recommending a feature is all, something a little less cheap.

Quote:
Yeah, but blur is one of easiest to implement postprocess shaders. Some advanced ones (like screen space ambient occlusion or bloom) requires more passes. LordHavoc says that adding other passes is not hard.

I am aware others take more passes, you did not say others. I was talking about blur.
Quote:
BTW proper blur requires several passes to look smooth, DP currently has only one. So it has to be a bit harsh.

_________________
http://www.giffe-bin.net/
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    Inside3d Forums Forum Index -> QuakeC Programming All times are GMT
Page 1 of 1

 
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