OGE "Oblivion Graphics Extender"

Post » Fri May 27, 2011 12:56 pm

That's brilliant !

Some info/progress on the edgeAA shader :- I did some tweaking to the blur parameters to take into account scene depth while sampling. Produced a more noticeable effect [ http://s659.photobucket.com/albums/uu320/shademe/shader%20stuff/ ]. I also managed to find my Crysis Warhead disc yesterday, meaning I can look into the technique used by the game to achieve the same effect.

Wow, that's amazing difference. I tried to get it for Morrowind. We can have AA in Morrowind but there is a foliage problem with alpha test and blending choices. With alpha blend leaves looks beautiful with soft blending, but overlapping leaves cause white outlines. To fix it you must use alpha test but this time leaves look abrupt. I thought edge blur will overcome this issue but the examples I found was using normals which wasn't available for Morrowind. I would like to see it for Morrowind too. Good luck with the shader, it looks very well already.


-----------------------------------------------------------------------------
As for my shader, well, not good. I am getting weird errors.
undeclared identifier 'fmode'


I am new to this but I read the examples. I don't suspect fmode, I suspect f4time. How should I declare f4time: extern, static, constant. What's the difference?
User avatar
Rozlyn Robinson
 
Posts: 3528
Joined: Wed Jun 21, 2006 1:25 am

Post » Fri May 27, 2011 1:46 pm

Unfortunately, the illusion isn't as visible in brighter scenes. The shader just uses an edge filter on the depth texture and then uses it as a mask to blur geometry edges. I'd think it'd work with MGE without any modifications.


-----------------------------------------------------------------------------
As for my shader, well, not good. I am getting weird errors.
undeclared identifier 'fmode'


I am new to this but I read the examples. I don't suspect fmode, I suspect f4time. How should I declare f4time: extern, static, constant. What's the difference?
Is fmode a OBGE variable ? Don't recall seeing it in the readMe.

As for f4time, don't use any type qualifiers. Just float4 f4time should do. Then use the vector components to get the time. I had trouble declaring it as an array - I couldn't seem to get the correct value when subscripting.

Look up type qualifiers on MSDN for more info on extern, static, etc.
User avatar
yessenia hermosillo
 
Posts: 3545
Joined: Sat Aug 18, 2007 1:31 pm

Post » Fri May 27, 2011 10:46 am

Fmod supposed to be a function that will return game hours into mod 12. But I guess that's a bad idea. If only I got lucky with ifs.
http://msdn.microsoft.com/en-us/library/ee418305(VS.85).aspx

Thanks.
User avatar
Marilú
 
Posts: 3449
Joined: Sat Oct 07, 2006 7:17 am

Post » Fri May 27, 2011 2:14 pm

Fmod supposed to be a function that will return game hours into mod 12.

I had some issues with directly using values from shader constants. To get around the problem, I assigned the value of f4time[x] to another float variable first, then use that variable in math functions. Have you tried a similar workaround?

You can also use the modulus operator, %, to get the remainder of a value. In my experiments to mess with the jitter, I did that:
float tzone = f4Time.y % 12;


EDIT: Also, concerning your weird error, look closely: fmode
I think you may just have accidentally added an 'e' to the end of "fmod".
User avatar
Marine Arrègle
 
Posts: 3423
Joined: Sat Mar 24, 2007 5:19 am

Post » Fri May 27, 2011 3:27 pm

Hi all,

I just came across a very spectacular Oblivion Movie on YouTube.

http://www.youtube.com/watch?v=uliz8IOk1oU

I noticed a Light Effect on the Sun that is totally differed then the one in my game. I refer to the Sun / Lens - Flare visible at Time 2:00 to 2:11

A few screenshots I made from the effect:
http://img196.imageshack.us/i/sunflare01.jpg/
http://img46.imageshack.us/i/sunflare02.jpg/
http://img198.imageshack.us/i/sunflare03.jpg/

Slideshow:
http://img196.imageshack.us/slideshow/webplayer.php?id=sunflare01.jpg

So now I would like to know what mod / shader causes that really incredible effect.
User avatar
Danel
 
Posts: 3417
Joined: Tue Feb 27, 2007 8:35 pm

Post » Fri May 27, 2011 8:52 am

Hi all,

I just came across a very spectacular Oblivion Movie on YouTube.

http://www.youtube.com/watch?v=uliz8IOk1oU

I noticed a Light Effect on the Sun that is totally differed then the one in my game. I refer to the Sun / Lens - Flare visible at Time 2:00 to 2:11

A few screenshots I made from the effect:
http://img196.imageshack.us/i/sunflare01.jpg/
http://img46.imageshack.us/i/sunflare02.jpg/
http://img198.imageshack.us/i/sunflare03.jpg/

Slideshow:
http://img196.imageshack.us/slideshow/webplayer.php?id=sunflare01.jpg

So now I would like to know what mod / shader causes that really incredible effect.

He edited it in Sony Vegas, man.
User avatar
Ernesto Salinas
 
Posts: 3399
Joined: Sat Nov 03, 2007 2:19 pm

Post » Fri May 27, 2011 10:19 pm

I've been using the SSAO shader with this and for some reason it doesn't extend to the very edges of the screen. There are blank strips (absent of SSAO) on the bottom and sides. Very distracting! I've seen screenshots with those that have SSAO covering the whole screen, so I'm not sure what's going on. I'm using "V2" of the shader. Is this old and that's why it's doing it?

Edit: The effect is more evident with static const int ssao_sample_size = 1 and static const float ssao_sampling_area = 9.2
User avatar
DeeD
 
Posts: 3439
Joined: Sat Jul 14, 2007 6:50 pm

Post » Fri May 27, 2011 11:01 am

Edit: The effect is more evident with static const int ssao_sample_size = 1 and static const float ssao_sampling_area = 9.2

It would be, yes.

Outside of the screen, there is no detail. I believe I have it setup to clamp the values outside of the screen, that is, it smears the edges of the texture when it wants to sample something outside of the available texture. If you have the sample size set to 1, you're putting major limitations on the available information that can be used by the shader to calculate ambient occlusion. On the edges and especially the corners, this information is even more limited.

So, you can either increase the sample size, or ignore it. :P I guess it might be a good idea to implement some system for automatically increasing the sample size when near the edges. If it can be tuned just right to give enough data to reduce the edge artifacts, it wouldn't be a big performance hit, since only 5-10% of pixels would need the higher sampling.
User avatar
Sun of Sammy
 
Posts: 3442
Joined: Mon Oct 22, 2007 3:38 pm

Post » Fri May 27, 2011 1:46 pm

OBGEV2 - Spectacular, I'm happy as a clam. Noticeably faster, loads all shaders listed on shaderlist.txt automatically. Additionally, I was one of the biggest victims of the OBGE transition crashes and hence had to use OBGE debugged. Been playing for 6+ hours and zero crashes. Also additionally I had graphical errors with ABO's http://www.tesnexus.com/downloads/file.php?id=21424 and OBGE debugged, with V2, no errors. Great work!

I'm curious, did you need to recompile the RealisticHealth script and create a new RealisticHealth.esp, or did it just work when you replaced obge.dll with obgev2.dll? Earlier scanti said scripts may need recompiling... it would be great if they didn't.

scanti: I see that you plan on releasing OBGEV2 after adding a few more features, like making shaders persistent in savegames. However, your OBGEV2 already seems to fix some important bugs in OBGE v0.1, and AFAIK doesn't introduce any new ones. If it works with Realistic Health without needing a recompile of the esp, then what you have now is already better than OBGE v0.1. Can I suggest that you focus on releasing what you have now before adding new features beyond what OBGE v0.1 had? Although making shaders persistent in savegames would be nice, I suspect it will be tricky to find/fix all the corner cases such as what happens when a shader and/or mod is uninstalled. Realistic Health already has scripting that reliably unloads shaders before loading new savegames to prevent shader "stacking", so it doesn't need a new persistent shaders feature.

Psymon: On loading and unloading shaders with OBGEV2 (and OBGE v0.1); the full process for loading, applying, and removing shaders in scripts (and presumably the cmdline), is;
long shaderset shader to LoadShader "RealisticHealth.fx" ; loads and compiles the shader *.fx fileapplyfullscreenshader shader 0					 ; applys the shader to the screen to "activate it"removefullscreenshader shader					 ; removes the shader from the screen to "deactivate it"

Note that I don't think you can just declare long variables at the console... you will have to use a long variable defined somewhere in a script. LoadShader will load the shader but will not activate it. You can apply a shader multiple times and it will "stack"... I don't think you need to LoadShader again to "stack" the shader multiple times, but you need to if you want to set different values to shader settings for the different "layers".

In a script, if you want to make sure that you don't "stack" shaders every time you load a new game, you need to unload your shader before the new game is loaded. The code for this is;
; shader variableslong shadershort loaded;remove shader when load menu is active to prevent shader stackingbegin menumode 1038;Load Menu		if loaded				removefullscreenshader shader				set loaded to 0				printC "RH: shader unloaded"		endifendbegin GameMode	   ; initialise and load settings on game loaded		if getGameLoaded				set loaded to 0		endif	   ;reinit and load shader if shader unloaded		if loaded == 0				set shader to LoadShader "RealisticHealth.fx"				applyfullscreenshader shader 0				set loaded to 1				printC "RH: shader loaded"	   ; unload shader and quit when QuickLoad is pressed		elseif OnControlDown 27				removefullscreenshader shader				stopQuest aaRealisticHealth				printC "RH: shader unloaded"				return		endif

User avatar
April
 
Posts: 3479
Joined: Tue Jun 20, 2006 1:33 am

Post » Fri May 27, 2011 10:35 am

Abo - thanks but my questions were answered to the degree that I was able to get involved - I was, more or less, asking questions from a mod user perspective.

As it is now the OGE v3 seems to have more mod user functionality in that it can at least be turned off in game with the console command - not the case for the alpha OBGE v2.

But this is a hot topic in my oblivion world and I follow along best I can and keep various OMOD versions ready to fire off and test.

I think, though, that you misunderstood XenoHellblazer as the new OBGEv2 he is talking about can be used alongside the original OBGE (using both dll files) but that it could not be used with the debugged version of OBGE v1. So he was using RH with the original OBGE not OBGEv2 - it is just that he was able to also load OBGEv2 with the original OBGE- so doubtful he recompiled.
User avatar
Hayley O'Gara
 
Posts: 3465
Joined: Wed Nov 22, 2006 2:53 am

Post » Fri May 27, 2011 1:16 pm

I think, though, that you misunderstood XenoHellblazer as the new OBGEv2 he is talking about can be used alongside the original OBGE (using both dll files) but that it could not be used with the debugged version of OBGE v1. So he was using RH with the original OBGE not OBGEv2 - it is just that he was able to also load OBGEv2 with the original OBGE- so doubtful he recompiled.

That doesn't sound right... everything I've read suggests that OBGEv2 (OBGEv2.dll) is a drop in replacement for OBGE v0.1 (obge.dll), and they would not work together at all. OBGE Debugged was a version of OBGE v0.1 that attempted to fix the CTD bugs, but seems to introduce some new visual bugs. OGE v3 (DepthTest.dll) is something totally different, and can probably be used alongside OBGE v0.1 (or OBGE Debugged), but not OBGEv2 (since DepthTest.dll and OBGEv2.dll both will load ShaderList.txt). I believe OBGEv2 is effectively a bugfix and merge of OBGE v0.1 and OGE v3, though the console commands exposed are probably the same as OBGE v0.1, not OGE v3.

The reason scanti thought a recompile of the esp scripts might be required is he added some optional arguments to two of the OBGE commands, and he was not sure if this would mean a recompile would be needed.

As I understand it, OGE has focused on implementing fancy shaders, but doesn't offer many hooks for scripters to control those shaders. OBGE v0.1 implements shaders with some unfortunate bugs, but provides hooks to scripters for controlling those shaders. OBGEv2 is using the OGE shader implementation and adds the OBGE v0.1 hooks for scripters to control those shaders. So OBGEv2 is OGE shader goodness with OBGE scripting goodness... the best of both worlds :-)
User avatar
Peter lopez
 
Posts: 3383
Joined: Mon Sep 10, 2007 5:55 pm

Post » Fri May 27, 2011 11:33 am

ABO has it right, AFAIK. You can't load OBGE and OBGEv2 at the same time because there are a number of incompatibilities, such as functions with different methods (they're coded different) but the same name - making it impossible to tell which you want to use, and opcode conflicts (I think that's what Scanti said), and OBGEv2 is intended as a complete replacement. I am also interested in the need to recompile OBGE scripts, I'll do some testing on that later on today.

As ABO has said, the DepthTest.dll plugins (that which you refer to as OGE), have concentrated on opening up more information for the creation of more complex shaders, and have only very simple console/scripting usage. The OBGEv2 alpha plugin combines these advances in what information shader writers have access to with the large amount of console/scripting control the original OBGE gave modders, as well as fixing some bugs with the original OBGE and adding a few more features.

EDIT: I've tested both Ambient Dungeons and Enhanced Seasons, both compiled under OBGE, and they run fine with the OBGEv2 plugin. So it seems that you don't need to recompile if you want to use OBGEv2 instead of OBGE.
User avatar
Alba Casas
 
Posts: 3478
Joined: Tue Dec 12, 2006 2:31 pm

Post » Fri May 27, 2011 10:59 pm

I had some issues with directly using values from shader constants. To get around the problem, I assigned the value of f4time[x] to another float variable first, then use that variable in math functions. Have you tried a similar workaround?

You can also use the modulus operator, %, to get the remainder of a value. In my experiments to mess with the jitter, I did that:
float tzone = f4Time.y % 12;


EDIT: Also, concerning your weird error, look closely: fmode
I think you may just have accidentally added an 'e' to the end of "fmod".

Now is a good time for a facepalm. :P I would wait for a different error for that. Syntax error maybe. I used the other approach too. But I work in a mess, so getting *everything* right at the same time is rare, but not impossible, hopefully.

--------------
For rays, I don't like multiple lens flares but in my experiments I get stuff like this.vvv A little texturing mixed with shader.
http://i51.photobucket.com/albums/f386/vtastek/morrowind/Morrowind2009/sc05/Morrowind-MGE-rays.jpg
User avatar
lolly13
 
Posts: 3349
Joined: Tue Jul 25, 2006 11:36 am

Post » Fri May 27, 2011 7:26 pm

Might I suggest a fix for godrays only looking good during dawn and dusk?

1. The easy way: Add a timer that, based on in-game time, slowly fades godrays in and out so they're only fully visible in the morning and afternoon.

2. The hard way: Average the brightness of every pixel on the screen (before godrays are applied) to determine the overall brightness of the screen. The brighter the average is, the less visible godrays are made.
User avatar
cassy
 
Posts: 3368
Joined: Mon Mar 05, 2007 12:57 am

Post » Fri May 27, 2011 11:13 am

Might I suggest a fix for godrays only looking good during dawn and dusk?

1. The easy way: Add a timer that, based on in-game time, slowly fades godrays in and out so they're only fully visible in the morning and afternoon.

2. The hard way: Average the brightness of every pixel on the screen (before godrays are applied) to determine the overall brightness of the screen. The brighter the average is, the less visible godrays are made.
I believe vtastek is working of fixing that.
User avatar
Pete Schmitzer
 
Posts: 3387
Joined: Fri Sep 14, 2007 8:20 am

Post » Fri May 27, 2011 12:10 pm

EDIT: I've tested both Ambient Dungeons and Enhanced Seasons, both compiled under OBGE, and they run fine with the OBGEv2 plugin. So it seems that you don't need to recompile if you want to use OBGEv2 instead of OBGE.


I loaded up Ambient Dungeons and the OBGEv2 dll. It is working for me, however when I first load a save and/or start a new game I get the "everything is gray" screen. After a good 10 seconds of active game time it goes away and I'm good. Is this normal?
User avatar
Lucky Girl
 
Posts: 3486
Joined: Wed Jun 06, 2007 4:14 pm

Post » Fri May 27, 2011 4:33 pm

Can anyone re-upload DoF V2?
Thanks.
User avatar
Beast Attire
 
Posts: 3456
Joined: Tue Oct 09, 2007 5:33 am

Post » Fri May 27, 2011 10:55 am

@ mashani: Hmm, no. Are you using the latest version?

@ qwerqet: No. I'd rather that you use the latest version with its improvements, and there have been quite a few since v2. If you've got a problem with the latest version, tell me about it, and I'll see if I can do anything about it. Otherwise, use the latest version.
User avatar
KRistina Karlsson
 
Posts: 3383
Joined: Tue Jun 20, 2006 9:22 pm

Post » Fri May 27, 2011 6:45 pm

Hello, I think I asked this a while ago, but it got buried under the conversation :P

Is this going to be compatible with screen effects? Does this mean that you will not need the original OBGE to run screen effects? Even better, is someone willing to make a new version of screen effects to go with this version of OGE? I would myself, but I have not the foggiest how it all works, and I have quite a bit on my plate already.

Thanks, and great work everyone on the team :hugs:
User avatar
Tamara Dost
 
Posts: 3445
Joined: Mon Mar 12, 2007 12:20 pm

Post » Fri May 27, 2011 5:34 pm

Call me stumpy and throw me out but where is the download link?

I looked it up on google and found this page:
http://timeslip.chorrol.com/obge.html which says v0.1

In the first post there is a v3.7(with a red USE AT YOUR OWN RISK that don't make me want to use it) but most people refer to v2 which from what I read looks like the "stable" version...

Saying I'm confused wouldn't begin to cover it :P.
User avatar
x_JeNnY_x
 
Posts: 3493
Joined: Wed Jul 05, 2006 3:52 pm

Post » Fri May 27, 2011 9:34 am

OBGEv2 is an early alpha stage OBSE plugin intended as a replacement for both Timeslip's OBGE and Scanti's earlier DepthTest (also referred to as OGE) plugins. It was released so that people could test it for bugs, and so that eager shader-writers/modders could get working on the new stuff it brought us.

However, if you're not prepared to use the plugin for testing/creation purposes, or you don't really know what's going on, then I suggest you don't use it. It's not user-friendly ATM, I suggest waiting for a proper release when it will actually have documentation and be at a stable/finished state.

Early testing I've done indicates that it is compatible with mods created using the original OBGE, but that's all still subject to change, as Scanti himself said that such mods would probably need their scripts recompiled to work with OBGEv2, so my evidence is contradictory.

I myself am holding off doing any OBGE related work until Scanti's happy to do a proper release of OBGEv2, simply because everything is subject to change, and it's a lot easier to work using something with documentation. Until then, I'll just wait patiently. :)
User avatar
Mark Hepworth
 
Posts: 3490
Joined: Wed Jul 11, 2007 1:51 pm

Post » Fri May 27, 2011 6:55 pm

@wrinklyninja:
Thank you for your reply. I will do as you advise and wait for a "stable" version.
User avatar
Kat Lehmann
 
Posts: 3409
Joined: Tue Jun 27, 2006 6:24 am

Post » Fri May 27, 2011 1:31 pm

Looks incredible. I really like the edge detection shader, kinda gives the game a comic book feel.


Pardon if this goes a bit off-topic, or has been asked/answered already, but how do make my graphics and LOD/horizon and all look like the Godray screenshots 3, 4, 5, & 6. All my sliders are maxed (shadow related sliders about about halfway.) using HDR and all I get is gray fog at that distance.
User avatar
carla
 
Posts: 3345
Joined: Wed Aug 23, 2006 8:36 am

Post » Sat May 28, 2011 12:07 am

@ mashani: Hmm, no. Are you using the latest version?


I'm using the OBGEv2 linked at the top of this thread (Scanti's 3.7 version), and Ambient Dungeons 1.3 from the link in your posts... the version that no longer requires screen effects.

The only other OBSE plugins I have loading are:

Universal Silent Voice
Elys Uncapper
Disable Vampire Race
Stutter Remover

I could try to take those out if you wish? Don't see why any of those (except maybe stutter remover) would matter.
User avatar
Nicole Mark
 
Posts: 3384
Joined: Wed Apr 25, 2007 7:33 pm

Post » Fri May 27, 2011 8:47 am

No, it's just that there shouldn't be a grey screen at all, perhaps I've got the shader constants set wrongly before the real values can be applied. In any case, I'll look at it when OBGEv2 is released properly.
User avatar
Mark Churchman
 
Posts: 3363
Joined: Sun Aug 05, 2007 5:58 am

PreviousNext

Return to IV - Oblivion