Author Topic: Distortion effects?  (Read 2907 times)

0 Members and 1 Guest are viewing this topic.

Offline Krackers87

  • 158 crew
  • 29
Forgive my insolence if I'm speaking on common knowledge here, but would it be possible to make a 3D distortion effect, essentially take lets say, the current 3d shock wave, make it invisible, yet distorts light based on its geometry similar to a heat wave/water ripple/looking through a glass cup or ball. If not currently possible, how difficult would this be to implement?
Put this in your profile if you know someone who is fighting, has survived, or has died from an awp no scope.

just like seventies goofballs
he's waiting on last calls
well listen method man
'cause if you leave on the last line
don't leave on the ground kind
born just a little too slow

 

Offline chief1983

  • Still lacks a custom title
  • Moderator
  • 212
  • ⬇️⬆️⬅️⬅️🅰➡️⬇️
    • Skype
    • Steam
    • Twitter
    • Fate of the Galaxy
It could probably be done with a shader now.  But only people with shaders would see it.
Fate of the Galaxy - Now Hiring!  Apply within | Diaspora | SCP Home | Collada Importer for PCS2
Karajorma's 'How to report bugs' | Mantis
#freespace | #scp-swc | #diaspora | #SCP | #hard-light on EsperNet

"You may not sell or otherwise commercially exploit the source or things you created based on the source." -- Excerpt from FSO license, for reference

Nuclear1:  Jesus Christ zack you're a little too hamyurger for HLP right now...
iamzack:  i dont have hamynerge i just want ptatoc hips D:
redsniper:  Platonic hips?!
iamzack:  lays

 

Offline Thaeris

  • Can take his lumps
  • 211
  • Away in Limbo
My skills in this arena are quite few, but I'd assume you'd (on the cheap...) start with sphere and apply a translucent texture to it. The sphere would have to enlarge and probably have a few rotational constants about its origin to look right if you only used a singular texture. Using glowmaps would probably remove the need to spin the enlarging sphere. Add a flash of light a few degrees of magnitude smaller than a subspace flash upon bomb/torp impact and you'd have a very cool effect indeed...
"trolls are clearly social rejects and therefore should be isolated from society, or perhaps impaled."

-Nuke



"Look on the bright side, how many release dates have been given for Doomsday, and it still isn't out yet.

It's the Duke Nukem Forever of prophecies..."


"Jesus saves.

Everyone else takes normal damage.
"

-Flipside

"pirating software is a lesser evil than stealing but its still evil. but since i pride myself for being evil, almost anything is fair game."


"i never understood why women get the creeps so ****ing easily. i mean most serial killers act perfectly normal, until they kill you."


-Nuke

 

Offline Krackers87

  • 158 crew
  • 29
My skills in this arena are quite few, but I'd assume you'd (on the cheap...) start with sphere and apply a translucent texture to it. The sphere would have to enlarge and probably have a few rotational constants about its origin to look right if you only used a singular texture. Using glowmaps would probably remove the need to spin the enlarging sphere. Add a flash of light a few degrees of magnitude smaller than a subspace flash upon bomb/torp impact and you'd have a very cool effect indeed...
I'm talking more along the lines of distorting other effects, using another effect. a ship is blowing up, little explosions all over it, a shock wave occurs between the player and ship, thus a ripple distorts the entire scene of the ship exploding. unless this is the effect you're explaining, than i apologize for my sleep depraved delusions.
Put this in your profile if you know someone who is fighting, has survived, or has died from an awp no scope.

just like seventies goofballs
he's waiting on last calls
well listen method man
'cause if you leave on the last line
don't leave on the ground kind
born just a little too slow

 

Offline General Battuta

  • Poe's Law In Action
  • 214
  • i wonder when my postcount will exceed my iq
Shaders.

 

Offline Aardwolf

  • 211
  • Posts: 16,384
Screen-space effects like that are doable, for people with shader support, and I suppose with proper depth sorting it might be doable on a per-shockwave/distorty-effect basis.

But it's not something that's doable using the same shaders system that's in place for normal maps, etc.

Edit to appease the almighty Zacam: um... yeah
« Last Edit: October 03, 2009, 09:30:46 pm by Aardwolf »

 
I'm talking more along the lines of distorting other effects, using another effect. a ship is blowing up, little explosions all over it, a shock wave occurs between the player and ship, thus a ripple distorts the entire scene of the ship exploding. unless this is the effect you're explaining, than i apologize for my sleep depraved delusions.

You're looking for something like the shockwaves in FEAR right? (and other games I assume)

 

Offline Krackers87

  • 158 crew
  • 29
I'm talking more along the lines of distorting other effects, using another effect. a ship is blowing up, little explosions all over it, a shock wave occurs between the player and ship, thus a ripple distorts the entire scene of the ship exploding. unless this is the effect you're explaining, than i apologize for my sleep depraved delusions.

You're looking for something like the shockwaves in FEAR right? (and other games I assume)

yup, exactly
Put this in your profile if you know someone who is fighting, has survived, or has died from an awp no scope.

just like seventies goofballs
he's waiting on last calls
well listen method man
'cause if you leave on the last line
don't leave on the ground kind
born just a little too slow

 

Offline Tomo

  • 28
Shaders.
A lot more to it than that, unfortunately.

Individual shaders work on a per-vertex/per-fragment basis, and thus know nothing of the other items in the scene.
They basically get per-model 'variables' (including textures) and per-scene 'global variables'.

I believe this can only really be done using post-processing shaders, where you first render-to-texture, then render 'shockwave info' to another texture, then use a shader that takes the 'shockwave info' texture and uses it to distort the first result.

There might be a way to use a stencil buffer instead (which would be faster), but I suspect that wouldn't give the kind of result you're after.

  

Offline Hery

  • 26
@Tomo: that's what I told in post-processinig topic, http://www.hard-light.net/forums/index.php?topic=64986.msg1289883#msg1289883
I will have to create an interface to create and use g-buffers while implementing "new" motion blur (the old one was removed from post-processing code), which will enable many more techniques (deferred shading, heat haze, post-processing effects applied only on some parts of screen and improved shockwaves). However, that will require much more from the hardware.