[REL/WIP] Oblivion Graphics Extender

Post » Thu Feb 10, 2011 4:38 am

I'm interested in knowing how it turns out, as part of the reason I set the default settings to be so blurry is because of how the shader looks in conversations, even though in other situations it can be overly blurry.
User avatar
Kevin Jay
 
Posts: 3431
Joined: Sun Apr 29, 2007 4:29 am

Post » Thu Feb 10, 2011 6:15 am

I'm interested in knowing how it turns out, as part of the reason I set the default settings to be so blurry is because of how the shader looks in conversations, even though in other situations it can be overly blurry.


I'm not quite to the point where I'm modifying shader values in the plugin, but everything is working so far. I actually don't think I even want to fade any of the DoFs over a certain amount of frames... For dialogs the DoF doesn't disappear until it fully zooms out, which as you're pulling away from the NPC, it increases the background blur. It's sort of cool. It's dependent though on what you have set as the zoom level for conversations. I think the default is wayyyy too close. I usually change the FOV and conversation zooms with Streamline but I haven't installed it yet. So at different zoom levels for conversations there may be more optimal Bokeh settings...

Now I have to fool around with changing shader values for the different effects. Especially with the bow DoF... I may need to have conditional values based on skill level in Marksman and whether or not the player is zooming. I know you get a "Zoom" perk at some point... It's very weak right now, with the default settings.

Also, I'm not very sure about what to do with third-person DoF... I figure just the static distance blur in DepthOfField, just for some softness in the background.

Any other events in which a Dynamic DoF is possibly useful? :)
User avatar
Tanya
 
Posts: 3358
Joined: Fri Feb 16, 2007 6:01 am

Post » Thu Feb 10, 2011 6:48 am

Well, in first person in general I find that the Bokeh DoFs (although with smaller base_blur_radius and max blur radius than in the default settings) can look very nice, without being overly distracting/strong.
User avatar
Mr.Broom30
 
Posts: 3433
Joined: Thu Nov 08, 2007 2:05 pm

Post » Thu Feb 10, 2011 2:06 pm

http://s659.photobucket.com/albums/uu320/shademe/shadows/ ...
User avatar
sarah simon-rogaume
 
Posts: 3383
Joined: Thu Mar 15, 2007 4:41 am

Post » Thu Feb 10, 2011 10:56 am

http://s659.photobucket.com/albums/uu320/shademe/shadows/ ...

Is that... what I think it is?! :o

Squee!

No idea what else to say, really. Except... what will it mean for ambient occlusion, if anything?
User avatar
Albert Wesker
 
Posts: 3499
Joined: Fri May 11, 2007 11:17 pm

Post » Thu Feb 10, 2011 5:09 am

Real time soft shadows? ETA on that? looks good.
User avatar
Myles
 
Posts: 3341
Joined: Sun Oct 21, 2007 12:52 pm

Post » Thu Feb 10, 2011 12:52 pm

Now that’s what I always wanted to see in Oblivion, I cant wait for its release !
Keep up the good work shadeMe.
User avatar
rebecca moody
 
Posts: 3430
Joined: Mon Mar 05, 2007 3:01 pm

Post » Thu Feb 10, 2011 8:42 am

Well, in first person in general I find that the Bokeh DoFs (although with smaller base_blur_radius and max blur radius than in the default settings) can look very nice, without being overly distracting/strong.


Well, I feel that first-person has to remain functional... There needs to be at least some view where there is no blur, which was the point of this mod. Of course I will probably have to make an INI file if/when I release this, so that people can customize each DoF event to their own liking. In that case I will have options for first-person DoF events...

I was thinking more like, what events may cause near-sightedness, for example? Drunkenness, disease, etc.

Or, what if people want separate DoF settings based on whether they are indoors or outdoors? Since you do deal with different scales in that regard.


http://s659.photobucket.com/albums/uu320/shademe/shadows/ ...


Consider me ELATED! :) I take it you are making progress with this, then? I don't mean to pry/nag... Just very interested in hacking/modding like this. For instance, I'm curious if what you are doing with adding shadows is still limited by [iActorShadowIntMax=10, iActorShadowExtMax=10] in the INI, and are there any actual hard limits in the engine?

I noticed, for example, in the earlier videos you made, that shadows still constantly toggle on/off... I know Oblivion has always had very... curious scene management in that regard... I'm quite puzzled why it was ever handled in such a way. Although, if I were to guess, there's probably not much to be done about that, and we will always have to use some kind of absurdly low number.

At least they seem to have figured this out in Skyrim, even trees have fully-formed shadows! :)
User avatar
Marilú
 
Posts: 3449
Joined: Sat Oct 07, 2006 7:17 am

Post » Thu Feb 10, 2011 8:41 am

[iActorShadowIntMax=10, iActorShadowExtMax=10]

This is no limitation at all !
Just set it to what ever number you find that’s high enough.
I usualy set it to 50, sins I don’t expect to see more NPC that that on my screen.
User avatar
saharen beauty
 
Posts: 3456
Joined: Wed Nov 22, 2006 12:54 am

Post » Thu Feb 10, 2011 3:54 am

[iActorShadowIntMax=10, iActorShadowExtMax=10]

This is no limitation at all !
Just set it to what ever number you find that’s high enough.
I usualy set it to 50, sins I don’t expect to see more NPC that that on my screen.


No, I know this. But I'm asking if what ShadeMe is doing is bound by these numbers. Since the game may apply these numbers to everything that it generates a shadow for...

And on top of that I was asking if he has found a hard limitation of the engine. Like, maybe 999 is the max, for example.
User avatar
alicia hillier
 
Posts: 3387
Joined: Tue Feb 06, 2007 2:57 am

Post » Thu Feb 10, 2011 10:36 am

Aaah like that, well I don’t think there is a limmit, well you need a really good PCU and GPU, LOL
I think, I will go for 10.000 high quality shadows with a 500 meter visibility range.

EDIT:
Dam I just remember one limitation, the size of shadow casting objects.
Well let’s hope shadeMe found a way to deal with that.
I can’t wait to get my hands on his creation.
User avatar
Austin England
 
Posts: 3528
Joined: Thu Oct 11, 2007 7:16 pm

Post » Thu Feb 10, 2011 3:02 am

Wonderful! Although it doesn't appear to consider all light sources or cast multiple shadows, which can be seen in that shot with the table and two sets of candles. Also, wouldn't shadow intensity be determined by the luminosity of nearby pixels, i.e. something by a very bright light would cast very dark shadows?

Another thing I've noticed with AO and shadows is that it doesn't seem to use the cell's or worldspace's ambient - If there's a dark blue ambient used to simulate humidity, wouldn't the AO and shadows have a slight dark blue color as well?

Just something to consider while building the shadows shader...
User avatar
Lucy
 
Posts: 3362
Joined: Sun Sep 10, 2006 4:55 am

Post » Thu Feb 10, 2011 2:12 pm

Wonderful! Although it doesn't appear to consider all light sources or cast multiple shadows, which can be seen in that shot with the table and two sets of candles. Also, wouldn't shadow intensity be determined by the luminosity of nearby pixels, i.e. something by a very bright light would cast very dark shadows?

Another thing I've noticed with AO and shadows is that it doesn't seem to use the cell's or worldspace's ambient - If there's a dark blue ambient used to simulate humidity, wouldn't the AO and shadows have a slight dark blue color as well?

Just something to consider while building the shadows shader...


Not to rain on your parade, but I really doubt much of that is possible. Also, it makes it seem like you're not pleased enough with their hard work. I would be happy with ANY shadows... Shadow mapping is still expensive despite being crude. Things like indirect illumination and indirect shadowing are just now becoming possible, thanks to new DirectX 10/11 features. In fact, I really can't think of many games that even try to fake global illumination/fill lights by coloring shadows. I'm sure they may exist, but shadow mapping alone is extremely expensive even on current hardware. Things like soft-shadowing/penumbras are just now becoming possible as well.

Really, it doesn't even bother me at all that AO and Shadows are always grey/black. It's not like we have access to the engine's source code and can do anything we want. I think this project is pretty limited in that regard. You say "shadows shader" as if you think they have access to it. I'm pretty sure they don't, unless they've made sense of the assembly code. Last time I saw, nobody knew what code was what when it came to shaders.

Some shadows are better than no shadows!
User avatar
Danial Zachery
 
Posts: 3451
Joined: Fri Aug 24, 2007 5:41 am

Post » Thu Feb 10, 2011 1:53 am

http://s659.photobucket.com/albums/uu320/shademe/shadows/ ...

Very nice, thank you. :)
User avatar
Michelle Serenity Boss
 
Posts: 3341
Joined: Tue Oct 17, 2006 10:49 am

Post » Thu Feb 10, 2011 3:35 pm

Not to rain on your parade, but I really doubt much of that is possible.
Technically, all that he said is possible. It's just whether or not anyone actually implements it
Also, it makes it seem like you're not pleased enough with their hard work. I would be happy with ANY shadows...
So... you're happy with actor shadows? :P
Shadow mapping is still expensive despite being crude. Things like indirect illumination and indirect shadowing are just now becoming possible, thanks to new DirectX 10/11 features.
Wrong. Unless the ambient occlusion and indirect lighting shaders we have NOW for OBLIVION automagically make your graphics card use DX10/11?
In fact, I really can't think of many games that even try to fake global illumination/fill lights by coloring shadows.
Source Engine, Serious Engine 3, and I think even Unreal Engine 3 does stuff like that. Admittedly, I've yet so see any non-Serious Sam games use Serious Engine 3, but the other two are vastly popular - and I'm only speaking out of memory here, so who knows what else has them?
I'm sure they may exist, but shadow mapping alone is extremely expensive even on current hardware. Things like soft-shadowing/penumbras are just now becoming possible as well.
Eh, it seems to be less about "possible" and more about "optimised well-enough for normal usage". Like real-time raytracing!
User avatar
R.I.P
 
Posts: 3370
Joined: Sat Dec 01, 2007 8:11 pm

Post » Thu Feb 10, 2011 1:08 pm

I'm certain it's possible, in simplest form I sure it's "use the distance from light source A and object B using information from light source's circumference C to determine the shadow's intensity D and position E and shadow size F"...
User avatar
Eileen Collinson
 
Posts: 3208
Joined: Thu Dec 28, 2006 2:42 am

Post » Thu Feb 10, 2011 10:37 am

http://s659.photobucket.com/albums/uu320/shademe/shadows/ ...


Wow! :woot: (Head explodes out of anticipation.)
User avatar
Janette Segura
 
Posts: 3512
Joined: Wed Aug 22, 2007 12:36 am

Post » Thu Feb 10, 2011 3:54 pm

Technically, all that he said is possible. It's just whether or not anyone actually implements itSo... you're happy with actor shadows? :P Wrong. Unless the ambient occlusion and indirect lighting shaders we have NOW for OBLIVION automagically make your graphics card use DX10/11? Source Engine, Serious Engine 3, and I think even Unreal Engine 3 does stuff like that. Admittedly, I've yet so see any non-Serious Sam games use Serious Engine 3, but the other two are vastly popular - and I'm only speaking out of memory here, so who knows what else has them? Eh, it seems to be less about "possible" and more about "optimised well-enough for normal usage". Like real-time raytracing!


I'll try to be nice. :P

For one, you know exactly what I meant about "ANY" shadows. You can take it out of context if you want, and you did, so I won't respond to it further.

Wrong. Unless the ambient occlusion and indirect lighting shaders we have NOW for OBLIVION automagically make your graphics card use DX10/11?

You're simply not correct about this point. Indirect shadowing is a lot more than simple AO. Indirect shadowing is shadowing from an occluder that is preventing indirect illumination (light that has already bounced) from reaching a surface. Indirect illumination is, say, the bright red light that shines on a wall when light bounces off a red ball. Now place a cube in between the wall and ball, and the shadow formed is indirect shadowing. There is no feasible way to generate shadowing from a bounce without.... Shader Model 5.0! dun dun dunnnnnn.

Have you actually attempted to use the SSII shader? I simply can't, for one, it's far too slow. And secondly the engine certainly doesn't have a good enough renderer to make any use of Indirect Illumination. This isn't anything against the person who created the SSII shader. It's good for what it is, and for what OBGE gives us access to, but it's extremely subtle and not too accurate for the cost. But this is based on little observation. I will however make a mod with a Cornell Box and take images if you'd like.

Secondly, "possible" doesn't mean "I did it but it blew up my computer". It means "feasible" and by "feasible" I mean capable of running in realtime without penalty. Honestly, Indirect Illumination and Shadowing should only be attempted on engines with Deferred Shading, which Oblivion definitely is not. And even then, many a team has TRIED GI/II/IS and scrapped it even with the benefits of Deferred Shading, take the STALKER team for example. They scrapped it because it was... NOT POSSIBLE. (By which I mean feasible) ... By the way, in case you're not aware, Oblivion can barely handle a few lights, like most forward-rendered games. You really can only "see" the benefits of Indirect Illumination with many lights. And, it especially helps to use deferred shading instead, and since you can use more lights at least some of the GI can be faked with additional lights.

Thirdly, take what I said verbatim: "Things like [indirect illumination AND indirect shadowing] are just now becoming possible..." and realize that there is still not a single game with both, and only a few tech demos with both, which I have compiled and run myself. Have you?

I think probably the first engine to ship a game with any form of fake (but dynamic) GI/II will be CryEngine 3, and those are simple Light Propagation Volumes at incredibly low resolution. And of course, no Indirect Shadowing.

Source Engine, Serious Engine 3, and I think even Unreal Engine 3 does stuff like that. Admittedly, I've yet so see any non-Serious Sam games use Serious Engine 3, but the other two are vastly popular - and I'm only speaking out of memory here, so who knows what else has them?


That's great, if so. But because you can name three engines doesn't make you right, and doesn't mean there are many more examples. Prove to me they do, and I will accept it, but I won't just take your testimony. Mostly because at least two of those engines are known for having pre-computed lightmaps/GI, so I can't even be sure you're addressing the shadows that are dynamic with your statement. Which in that case it's not even a great feat as 95% of the shadows in those engines are static, and it's no great chore faking GI/fill lights for the rest.

I still can't think of any shipped games, and I wasn't saying that means it doesn't exist. I know of CryEngine modders who place additional lights to fake an ambient fill in shadows and dark areas. This is simply faking GI with lights. I was saying I haven't seen anybody bother doing it because it doesn't provide a very big benefit.

Eh, it seems to be less about "possible" and more about "optimised well-enough for normal usage". Like real-time raytracing!


Hey, look! After arguing all of my points, then you infer my intent! :)

If you'd like to learn more about what I meant, look into the Deferred Shading implementation by Intel that uses a Compute Shader to speed up the light shading. It's an incredible speedup, only made possible by DirectX 11. And with the more speedups we get from the new graphics pipeline and the new Shader Models the more extra room we have to start implementing GI/II/IS etc.

I'm sorry my reply was so long. I tend to write a lot when people try to pick apart everything I say without provocation. :)

And again, possible/feasible meant and continues to mean applicable to realtime graphics. It also means that I may be right now but that doesn't mean someone won't come up with a fast DirectX 9 implementation of Indirect Shadowing. If they do, then, great!
User avatar
Katie Pollard
 
Posts: 3460
Joined: Thu Nov 09, 2006 11:23 pm

Post » Thu Feb 10, 2011 11:46 am

I'm certain it's possible, in simplest form I sure it's "use the distance from light source A and object B using information from light source's circumference C to determine the shadow's intensity D and position E and shadow size F"...


... And do that between EVERY light and EVERY object in a room with 1000 watermelons...

Anyway, I had one very long post, so here's my short one. Moments after ShadeMe posted the gallery somebody pestered about an ETA and asked him to do more work. I'll just say that all graphics/engine programming is very hard work (I know personally) and we shouldn't be bothering him about an ETA or to add more stuff...
User avatar
Matthew Barrows
 
Posts: 3388
Joined: Thu Jun 28, 2007 11:24 pm

Post » Thu Feb 10, 2011 6:02 am

Consider me ELATED! :) I take it you are making progress with this, then? I don't mean to pry/nag... Just very interested in hacking/modding like this. For instance, I'm curious if what you are doing with adding shadows is still limited by [iActorShadowIntMax=10, iActorShadowExtMax=10] in the INI, and are there any actual hard limits in the engine?
This is basically what the shadow rendering pipeline looks like:
Perform prolog optimizations > Release textures from render target group > Rebuild depth stencil surface/texture > Get max shadows for current cell type > Add player shadow when in 3rd person > Walk through loaded objects, evaluate state and create shadow caster objects for valid ones. Keep count of enumerated nodes > Perform shadow mapping prolog > Create map for each shadow caster > Project map onto surface(s) > Perform epilog operations
I do my dirty work right in the beginning, where shadow casters are enumerated. There isn't a hardcoded limit placed on the number of shadows that can be present in the scene. On the other hand, a large shadow map combined with a ton of shadows will eventually crash the game due to memory limitations.

I noticed, for example, in the earlier videos you made, that shadows still constantly toggle on/off... I know Oblivion has always had very... curious scene management in that regard... I'm quite puzzled why it was ever handled in such a way. Although, if I were to guess, there's probably not much to be done about that, and we will always have to use some kind of absurdly low number.
Well spoke :D The devs apparently had to perform a lot of last minute optimizations for the console hardware, which is basically the reason why. The absence of features such as occlusion checks during projection becomes painfully apparent when every object in the world tries to cast shadows. To be truthful, I expect a rewrite of the shadow rendering code to prove to be easier than fixing the existing thing.

Dam I just remember one limitation, the size of shadow casting objects.
Well let’s hope shadeMe found a way to deal with that.
I can’t wait to get my hands on his creation.
I just spent the entire day trying to make that issue less apparent. You'll soon find out if I was successful in that endeavor.

I'll try to post new screens whenever I can. At this point, I only have this to say: I sincerely hope you folks have a gfx card that's better than my 8600GT ;)
User avatar
adame
 
Posts: 3454
Joined: Wed Aug 29, 2007 2:57 am

Post » Thu Feb 10, 2011 2:52 pm

I'll try to post new screens whenever I can. At this point, I only have this to say: I sincerely hope you folks have a gfx card that's better than my 8600GT ;)

:cry: My mobile HD 4650 is about the same level. Ah well, my gaming pc is due for its 5-yearly upgrade this winter, so I'll get a shiny new graphics card then (a system upgrade probably isn't feasible with my being a student and away from the pc during term-time :().
User avatar
Trent Theriot
 
Posts: 3395
Joined: Sat Oct 13, 2007 3:37 am

Post » Thu Feb 10, 2011 12:43 pm

Now I have to fool around with changing shader values for the different effects. Especially with the bow DoF... I may need to have conditional values based on skill level in Marksman and whether or not the player is zooming. I know you get a "Zoom" perk at some point... It's very weak right now, with the default settings.

Also, I'm not very sure about what to do with third-person DoF... I figure just the static distance blur in DepthOfField, just for some softness in the background.

Any other events in which a Dynamic DoF is possibly useful? :)


Thank you SO MUCH for tackling this. DoF looks great occasionally, but I never use it in game because it's such a strong effect. The preferences I'd probably favor:

1. Conversation - Very strong hexagonal-bokeh DoF focused on the NPC.
2. Third person - Fairly weak distance-blur.
3. Drawing a bow - Moderate auto-focus DoF. However, the maximum distance of the focus determined by the Marksman skill, with a small increase if the player zooms.


It sounds like you're working on implementing all this. I'm so happy I'm going to fire up Oblivion right now and search for any other events that could benefit from DoF.
User avatar
Anna S
 
Posts: 3408
Joined: Thu Apr 19, 2007 2:13 am

Post » Thu Feb 10, 2011 3:45 pm

The bow drawing DoF would be a nice addition to DR6 :]
Or UV2, if it's still alive :wink_smile:
User avatar
Jessica Lloyd
 
Posts: 3481
Joined: Fri Aug 25, 2006 2:11 pm

Post » Thu Feb 10, 2011 3:06 pm

This is basically what the shadow rendering pipeline looks like:

I see. Funny Oblivion doesn't let the player see his own shadow in first-person... :rolleyes: I guess I've actually never specifically noticed that, but there's a lot more immersion killing things about the lighting than that... I guess I knew the player mesh didn't exist in first person though. *sigh*

Well spoke :D The devs apparently had to perform a lot of last minute optimizations for the console hardware, which is basically the reason why. The absence of features such as occlusion checks during projection becomes painfully apparent when every object in the world tries to cast shadows. To be truthful, I expect a rewrite of the shadow rendering code to prove to be easier than fixing the existing thing.

I don't even really understand the (reason for) toggling at ALL! haha. I've never seen a game be so bold as to toggle shadows in plain view. However, I will say about your second point, just because an object is not on the screen, doesn't mean its shadow won't be, and in that particular situation the object shouldn't be culled... But as I understand it, Oblivion has nothing in the way of occlusion culling whatsoever, which is something they fixed in Fallout 3, no? Hell, I don't even know if any engines tackle shadow/object culling in an ideal way. I see shadows disappear from the edge of the frustum all the time in games... Of course there are plenty of examples I can think of where the shadows come from an object off-screen... Maybe not culling objects is a plus for Oblivion, hah!

I just spent the entire day trying to make that issue less apparent. You'll soon find out if I was successful in that endeavor.I'll try to post new screens whenever I can.


Ha, on the topic of my last point, it's always been my dream to allow, say, Bruma to be entirely in shadow if the mountains are blocking the sun, lit only by the skylight. Or at the very least, not have to question why, during sunset, a shack on the waterfront appear lit ablaze by the sun when it's entirely occluded by the shack in front of it! :)

But, I assume Oblivion is far too busted to ever implement these dreams. haha.

At this point, I only have this to say: I sincerely hope you folks have a gfx card that's better than my 8600GT ;)


:cry: My mobile HD 4650 is about the same level. Ah well, my gaming pc is due for its 5-yearly upgrade this winter, so I'll get a shiny new graphics card then (a system upgrade probably isn't feasible with my being a student and away from the pc during term-time :().


Well, I've got a HD 5850 Mobility. It's not enough to power a 27" screen and still look good. I have to settle for 720/1080p. Think I'm building a PC before Skyrim. I want a minimum of GTX 595 (two 570/580s on one card!)... *dreams*


Thank you SO MUCH for tackling this. DoF looks great occasionally, but I never use it in game because it's such a strong effect. The preferences I'd probably favor:

1. Conversation - Very strong hexagonal-bokeh DoF focused on the NPC.
2. Third person - Fairly weak distance-blur.
3. Drawing a bow - Moderate auto-focus DoF. However, the maximum distance of the focus determined by the Marksman skill, with a small increase if the player zooms.


It sounds like you're working on implementing all this. I'm so happy I'm going to fire up Oblivion right now and search for any other events that could benefit from DoF.


Yeah, we're definitely on the same page. I like the idea about widening the sharp area as Marksman increases... In playing, and at the level I've set the blur at, it can become hard to actually stay focused on enemies, with all the running and high mouse sensitivity and what-not. So I think I am toning down the blur some.

Other than your new idea, it's already all implemented! :)
User avatar
Emerald Dreams
 
Posts: 3376
Joined: Sun Jan 07, 2007 2:52 pm

Post » Thu Feb 10, 2011 10:22 am

So it crashes when you've got OBGEv2 installed, but the support plugin inactive? Do you have the shaderlist enabled, and are you using it? (Check your OBGE.ini in My Games\Oblivion) Try setting bLoadData and bSaveData in your OBGE.ini to 0.


Yes, it crashes with OBGEv2 and with the support plugin inactive. Tried setting bLoadData and bSaveData to 0, but that didn't help either. I thought the shaderlist wasn't needed when not using the plugin, or am I wrong here? Eitherway, either setting on bUseShaderList doesn't fix it either. I really think I'm running out of options here. :shrug:
User avatar
Amy Smith
 
Posts: 3339
Joined: Mon Feb 05, 2007 10:04 pm

PreviousNext

Return to IV - Oblivion