Author Topic: Implementing shadows(self-shadowing first) in GLSL...  (Read 27146 times)

0 Members and 2 Guests are viewing this topic.

Offline pecenipicek

  • Roast Chicken
  • 211
  • Powered by copious amounts of coffee and nicotine
    • Skype
    • Steam
    • Twitter
    • PeceniPicek's own deviantart page
Re: Implementing shadows(self-shadowing first) in GLSL...
What about straightforward shadows?

not availible yet. and the glsl implementation needs some base shadow stuff to work on before it gets to the GLSL stuff.
Skype: vrganjko
Ho, ho, ho, to the bottle I go
to heal my heart and drown my woe!
Rain may fall and wind may blow,
and many miles be still to go,
but under a tall tree I will lie!

The Apocalypse Project needs YOU! - recruiting info thread.

 
Re: Implementing shadows(self-shadowing first) in GLSL...
What about straightforward shadows?

not availible yet. and the glsl implementation needs some base shadow stuff to work on before it gets to the GLSL stuff.
Which reminds me, FS2 has huge amounts of empty space and no ground in it's most basic setting.

This should give some nice options in terms of how to do the shadows.
IE. finding shadow receivers against FoV, then in lightspace find casters which actually can shadow any of them. (compare bounding boxes/balls and create shadows which can actually be visible.)
IF one doesn't want selfshadowing the amount of actual shadows drop basically to nothing.

Biggest problems should be the shadow resolution with shadow maps are used and volume generationd and fillrate when using shadow volumes.
Both are interesting 'little' problems, which happily get easier in a scene full of nothing.

 

Offline Luis Dias

  • 211
Re: Implementing shadows(self-shadowing first) in GLSL...
Quote
IF one doesn't want selfshadowing the amount of actual shadows drop basically to nothing.

I think that self-shadowing is the first most important thing... those ships still don't look realistic *only* because of self-shadowing.

 

Offline Nemesis6

  • 28
  • Tongs
Re: Implementing shadows(self-shadowing first) in GLSL...
Self-shadowing would indeed make a huge difference.

 

Offline Zacam

  • Magnificent Bastard
  • Administrator
  • 211
  • I go Sledge-O-Matic on Spammers
    • Steam
    • Twitter
    • ModDB Feature
Re: Implementing shadows(self-shadowing first) in GLSL...
I disagree. Lighting in FSO (especially with the newer fragment shaders) is already pretty decent. What we need is occlusion shadowing.

If I'm on the dark side of a ship, I shouldn't still be as fully lit as if it's not there. I don't care about whether or not my wing cast a shadow on my canopy at the right angle to the sun.
Report MediaVP issues, now on the MediaVP Mantis! Read all about it Here!
Talk with the community on Discord
"If you can keep a level head in all this confusion, you just don't understand the situation"

¤[D+¬>

[08/01 16:53:11] <sigtau> EveningTea: I have decided that I am a 32-bit registerkin.  Pronouns are eax, ebx, ecx, edx.
[08/01 16:53:31] <EveningTea> dhauidahh
[08/01 16:53:32] <EveningTea> sak
[08/01 16:53:40] * EveningTea froths at the mouth
[08/01 16:53:40] <sigtau> i broke him, boys

 

Offline Dragon

  • Citation needed
  • 212
  • The sky is the limit.
Re: Implementing shadows(self-shadowing first) in GLSL...
I'd like to see both self shadowing and occlusion shadowing, I think that the first one to be implemented should be the one that could be implemented faster and with less work.

 

Offline Luis Dias

  • 211
Re: Implementing shadows(self-shadowing first) in GLSL...
I disagree. Lighting in FSO (especially with the newer fragment shaders) is already pretty decent. What we need is occlusion shadowing.

If I'm on the dark side of a ship, I shouldn't still be as fully lit as if it's not there. I don't care about whether or not my wing cast a shadow on my canopy at the right angle to the sun.

Nor do I, but I do care when I see big warships illuminated without shadows. It's completely unrealistic. If you guys are ever able to implement this, you will understand the difference. Heck, one could even discard the fighters' shadow completely and focus on the big warships.

Occlusion is nice but not as distracting. I'd approve of it as well ;)

 

Offline Kolgena

  • 211
Re: Implementing shadows(self-shadowing first) in GLSL...
Occlusion shadowing as self-shadowing (if it can be used that way) would work nicely for something like an Orion, but there'll be troubles with ships like the Hecate or Ravana.
« Last Edit: December 31, 2010, 08:06:58 pm by Kolgena »

 

Offline General Battuta

  • Poe's Law In Action
  • 214
  • i wonder when my postcount will exceed my iq
Re: Implementing shadows(self-shadowing first) in GLSL...
I disagree. Lighting in FSO (especially with the newer fragment shaders) is already pretty decent. What we need is occlusion shadowing.

If I'm on the dark side of a ship, I shouldn't still be as fully lit as if it's not there. I don't care about whether or not my wing cast a shadow on my canopy at the right angle to the sun.

Nor do I, but I do care when I see big warships illuminated without shadows. It's completely unrealistic. If you guys are ever able to implement this, you will understand the difference. Heck, one could even discard the fighters' shadow completely and focus on the big warships.

Occlusion is nice but not as distracting. I'd approve of it as well ;)

looking forward to your diff

 
Re: Implementing shadows(self-shadowing first) in GLSL...
Occlusion shadowing as self-shadowing (if it can be used that way) would work nicely for something like an Orion, but there'll be troubles with ships like the Hecate or Ravana.
Light occlusion is shadowing, you guys should be more clear about what you talk about. (ambient occlusion is shadow for a light which comes from every direction.)

If you mean with occlusion a method which produces a inperfect shadowing in terms of accuracy and hope that it doesn't look too offending, there are several although non proved ways.
Most of them have problems in terms of asset generation and/or rendering.

Something like low-res volumetric distance field for each ship could do the trick.
Basically one would trace against it and see if the light is behind something solid, as it is distance field one would have acceleration structure and ability to change the blurriness as well.
It would not be accurate, but it would give general sense of shape.
Shadows from other ships could be done as drop down shadows, but as always with combination of different methods a shadow mask buffer is a must for this. (render shadows to buffer and then use it to occlude the light.)

Here's couple of links to distance fields.
http://hyperfun.org/FHF_Log/Bastos_GPU_ADF_SMI08.pdf (idea of using distance fields for an object representation, we do not need nearly as high resolution.)
http://www.valvesoftware.com/publications/2007/SIGGRAPH2007_AlphaTestedMagnification.pdf (valves distance field text rendering.)
« Last Edit: January 04, 2011, 03:51:35 am by Pottuvoi »

 

Offline The E

  • He's Ebeneezer Goode
  • Moderator
  • 213
  • Nothing personal, just tech support.
    • Steam
    • Twitter
Re: Implementing shadows(self-shadowing first) in GLSL...
Looking forward to your code then.
If I'm just aching this can't go on
I came from chasing dreams to feel alone
There must be changes, miss to feel strong
I really need lifе to touch me
--Evergrey, Where August Mourns

  
Re: Implementing shadows(self-shadowing first) in GLSL...
Looking forward to your code then.
My main reason to post previous post was to show how hard is to get a blobby self occlusion, which most likely wouldn't have temporal problems or bad surface acne.

I'm not certainly saying that those would be anywhere feasible methods when comparing to traditional shadowing, nor that I have capasity to do them. (no, you really do not want me to mess with the codebase..)
There are plenty of different methods one can consider, but shadows are hard problem and 'simple occlusion' can seem easy problem until you start to think about it. (I have for several years as a algorithm/graphics enthustiac.)