Oblivion Graphics Extender, Thread 10

Post » Tue Dec 29, 2009 7:08 am

Ok I finally decided to throw all prudence to the wolves(is that the right expression? :P) and try some of the shaders provided with obge v2.
I tried Ssao+DepthOfField+GodRays and to my great surprise it barely hit my fps :o.

SSAO looks really great(too bad about fog/underwater bug though).
DepthOfField is really good too(once I figured out I needed to set a flag for distance blur :P)
Godrays acts a bit strange, it creates a "cone" effect(like described in the faq) if I look directly at the sun but I didn't change the DefaultFOV of Oblivion(75) so I don't know what's wrong. I only get "blinded" by sunlight if I'm behind the leaves of a tree or move the camera away from the sun. Maybe that's expected behavior but it seems a bit strange.

The command "showtestshader" doesn't seem to work though(wanted to see before/after), is there a new one(I see RemoveFullScreenShader but it takes a int, tried 0-3 without success)?

Anyway great work on OBGEv2 and all the shaders :).

edit:
Ooh i missed the new godrays version on the #1 post, going to test it :).
User avatar
!beef
 
Posts: 3497
Joined: Wed Aug 16, 2006 4:41 pm

Post » Tue Dec 29, 2009 1:01 am

The command "showtestshader" doesn't seem to work though(wanted to see before/after), is there a new one(I see RemoveFullScreenShader but it takes a int, tried 0-3 without success)?

Anyway great work on OBGEv2 and all the shaders :) .
showTestShader doesn't seem to work with the latest release. removeFullScreenShader can only be used with shaders applied using the applyFullScreenShader command.
User avatar
Kim Kay
 
Posts: 3427
Joined: Fri Oct 13, 2006 10:45 am

Post » Tue Dec 29, 2009 10:15 am

vtastek


Things Ive noticed about the new 3.4 godray shader

LOVE it. much better than v 3

But for some reason the effect was so subtle i couldnt really notice a change at all untill I up'ed the values. Seems a bit odd to me so I was wondering if that could be a problem with something I have.

Also im not sure if other people could do it but i put the sample passes to 128 which made it look MUCH better. Didnt lose any fps, but like I said idk if others can to that.

And finally, offscreen rendering of the rays would make this shader VERY VERY nice. So i cant wait to see that =]

EDIT:
Night time rays dont seem to work.

EDIT2:
in regards to the night rays. It seems they do work. But I can only get a single ray to come off a star sometimes. And even when that happens it looks not quite right.
Also the sunset/sunrise time changes dont seem to do anything
User avatar
Melissa De Thomasis
 
Posts: 3412
Joined: Tue Feb 27, 2007 6:52 pm

Post » Tue Dec 29, 2009 5:07 am

I switched to the new godrays but I see no effect :P
User avatar
STEVI INQUE
 
Posts: 3441
Joined: Thu Nov 02, 2006 8:19 pm

Post » Tue Dec 29, 2009 2:17 pm

Ok I finally decided to throw all prudence to the wolves(is that the right expression? :P) and try some of the shaders provided with obge v2.
I tried Ssao+DepthOfField+GodRays and to my great surprise it barely hit my fps :o.

SSAO looks really great


Lucky.

I just downloaded the OBGEv2 repack and now Oblivion won't start. I'm guessing it's having a problem compiling the fx (txt) files.

As I have posted 3 times in the past, I am running on Vista 32, have a 8800 nVidea, and the latest OBSE versions, and no older versions of OBGE in my plugins folder. My shaderlist.txt is not empty.\

OBGEvs log
Ingnoring message.RESZ not supported.Depth buffer texture (INTZ) (1024,768) created OK.Depth buffer attached OK. 0Releasing the original depth surface.

User avatar
luke trodden
 
Posts: 3445
Joined: Sun Jun 24, 2007 12:48 am

Post » Tue Dec 29, 2009 8:03 am

DepthOfField is really good too(once I figured out I needed to set a flag for distance blur :P)

DepthOfField is really nice :celebrate: , I have juggled for two days to have these values best for me (with the godrays shader):

//TWEAKABLE VARIABLES.bool DoDistanceBlur = true; //If true, reduces DoF to a distance blurring effect, ie. things far away are blurred more than things close up.bool DoWeaponBlur = true; //If false, anything really close to you, like your weapon, will not be blurred no matter where your focus is.float DoFAmount = 7;//The maximum level of blur. A higher value will give you more blur. default 7float FullFocusRange = 0.05; //If a point's depth is within +/- this value of the depth of the focus point, then it is not blurred. default 0.10, best 0.05float NoFocusRange = 0.42; //If a point's depth is outwith +/- this value of the depth of the focus point, then it has the maximum level of blur applied to it. defualt 0.40 best 0.45int DepthPower = 66; /*Controls the linearity of depth. Higher values will stretch it out more, so you can get the range spread further into the distance that you see in game.Suggested Values:Normal DoF: 19 best 50Distance Blur: 5001 */


The command "showtestshader" doesn't seem to work though(wanted to see before/after), is there a new one(I see RemoveFullScreenShader but it takes a int, tried 0-3 without success)?


Its showtestshader 0 for processing no shader from the shaderlist.txt.
and showtestshader for processing all of them in the given order.

Ooh i missed the new godrays version on the #1 post, going to test it :).


I was delighted at first, but i switched back to the old one, the new had problems displaying the rays around 11:00 am +/- one or two hours. looked like i had white spots on the screen.
but the underwater stuff was done really fine. :thumbsup:
User avatar
Ysabelle
 
Posts: 3413
Joined: Sat Jul 08, 2006 5:58 pm

Post » Tue Dec 29, 2009 3:03 pm

Its showtestshader 0 for processing no shader from the shaderlist.txt.
and showtestshader for processing all of them in the given order.


Thanks for your DepthOfField parameters, I will try them :).

As for showtestshader:
checking plugin c:\program files (x86)\steam\steamapps\common\oblivion\Data\OBSE\Plugins\\OBGEv2.dllSetOpcodeBase 00002100RegisterCommand GetAvailableGraphicsMemory (2100)RegisterCommand GetScreenWidth (2101)RegisterCommand GetScreenHeight (2102)RegisterCommand LoadShader (2103)RegisterCommand ApplyFullscreenShader (2104)RegisterCommand RemoveFullscreenShader (2105)RegisterCommand SetShaderInt (2106)RegisterCommand SetShaderFloat (2107)RegisterCommand SetShaderVector (2108)RegisterCommand SetShaderTexture (2109)RegisterCommand ForceGraphicsReset (210A)RegisterCommand LoadTexture (210B)RegisterCommand FreeTexture (210C)RegisterCommand CreateHUDElement (210D)RegisterCommand SetHUDElementTexture (210E)RegisterCommand SetHUDElementColour (210F)RegisterCommand SetHUDElementPosition (2110)RegisterCommand SetHUDElementScale (2111)RegisterCommand SetHUDElementRotation (2112)RegisterCommand PurgeManagedTextures (2113)plugin c:\program files (x86)\steam\steamapps\common\oblivion\Data\OBSE\Plugins\\OBGEv2.dll (00000001 OBGEv2 00000002) loaded correctly


As you can see the plugin doesn't even register the command with obse anymore :).
User avatar
Nicole Coucopoulos
 
Posts: 3484
Joined: Fri Feb 23, 2007 4:09 am

Post » Tue Dec 29, 2009 5:38 am

Blah... The godray shader 3.4 settings don't really seem to work really
User avatar
Chantel Hopkin
 
Posts: 3533
Joined: Sun Dec 03, 2006 9:41 am

Post » Tue Dec 29, 2009 8:25 am

Blah... The godray shader 3.4 settings don't really seem to work really


I switched to the new godrays but I see no effect :P


They only work at certain times of day, unless you configure them otherwise.
User avatar
michael danso
 
Posts: 3492
Joined: Wed Jun 13, 2007 9:21 am

Post » Tue Dec 29, 2009 10:23 am

They only work at certain times of day, unless you configure them otherwise.



There is no real way to do that. The only time related changeable variables is to change the sunset and sunrise ray start times.

No I think the problem is something other than that. Although I could be wrong =P

EDIT: From putting the game timescale to 4000 and watching the days progress while using different shader tweaks i can see that the godrays ONLY work during sunrise and sunset. vtaskek just thought I would let you know and hope you could fix it =P

On an off note. I have an old "depthtest.dll" still in my obse plugin folder along with obgev2.dll.

is it needed or can I remove it?
User avatar
P PoLlo
 
Posts: 3408
Joined: Wed Oct 31, 2007 10:05 am

Post » Tue Dec 29, 2009 6:51 am

vtastek


Things Ive noticed about the new 3.4 godray shader

LOVE it. much better than v 3

But for some reason the effect was so subtle i couldnt really notice a change at all untill I up'ed the values. Seems a bit odd to me so I was wondering if that could be a problem with something I have.

Also im not sure if other people could do it but i put the sample passes to 128 which made it look MUCH better. Didnt lose any fps, but like I said idk if others can to that.

And finally, offscreen rendering of the rays would make this shader VERY VERY nice. So i cant wait to see that =]

EDIT:
Night time rays dont seem to work.

EDIT2:
in regards to the night rays. It seems they do work. But I can only get a single ray to come off a star sometimes. And even when that happens it looks not quite right.
Also the sunset/sunrise time changes dont seem to do anything


As I mentioned earlier, there are too many variables. I tested for my vanilla game: HDR on, Bloom off with an empty glare texture. I tweaked the values for borderline between subtle and powerful. The first releases were using high exposure values but they weren't meant for final product. Rays should be subtle. I think this is a problem of relativity. You will get used to it. :P

The shader isn't that expensive, you did good for uping samples to 128. I believe if you play the game with high resolutions and big monitors it is advisable to up the sample number. But don't lower that number or effect will break.

For night time rays, I put it there for the lolz, it is nothing real. :P

For sunrise sunset timings, it is working here. But it can be my pathetic programming attempt too. I made it so it would blend nicely, it won't appear abruptly like the earlier version. Try with 'set timescale to 300' and see it for yourself.


I switched to the new godrays but I see no effect :P

In clear and cloudy weathers, time for sunsets and sunrises. You should see them.

.................
I was delighted at first, but i switched back to the old one, the new had problems displaying the rays around 11:00 am +/- one or two hours. looked like i had white spots on the screen.
but the underwater stuff was done really fine. :thumbsup:

Can I see some screens of that white spots. And what underwater stuff? :blink:

There is no real way to do that. The only time related changeable variables is to change the sunset and sunrise ray start times.

No I think the problem is something other than that. Although I could be wrong =P
..............



//Godrays(timely) v3.4 for Scanti's OGE(20.02.2010)//by vtastek/*TWEAKABLES START*///Number of passes for sunshafts#define NUM_SAMPLES 64//decrease to gain performance//but keep in mind effect will start to break//revealing the squarish nature of the lightshafts//FOV#define fov 75//setting this correctly is very important //or lights will move around as you look around//creating a searchlight effect//Exposure(intensity) values for sunshaftsfloat morningshaftex = 0.04f;float eveningshaftex = 0.20f;float goldendecay = 0.99;float noonshaftex = 0.49f;float noondecay = 0.63;float moonshaftex = 0.09f;float moondecay = 0.88;//Mornings are more powerful already//so I decreased it//noon is for noon and moon is for nights//you may get shafts for lightnings and moon maybe//goldendecay is for sunrise and sunset rays lengths//noondecay is noon rays length//Morning start-end hoursfloat startsunrise = 4.0f;float endsunrise = 10.0f;//start early for sunrise//Evening start-end hoursfloat startevening = 17.0f;float endevening = 21.0f;//end late for sunset//edit for remaining sunshaft propertiesfloat Density=0.9;float Weight=0.44;//edit for light colorness, lower the value for desaturated colors...static const float saturate = 0.540f;//decreasing may fix blue lights//Bright Pass valuesstatic const float Luminance = 0.44;static const float fMiddleGray = 0.99f;static const float fWhiteCutoff = 0.99f;//This shader is image based//this step(pass) determines how much of the sky will produce godrays//different skies may need different brightpass values/*TWEAKABLES END*/

I think there are plenty of tweakables. I don't think you should be playing with sunset sunrise timings unless you want to narrow it... narrower. I think I can add a global exposure multiplier in next version. But if you are getting rays when it is 'golden hours'(sunsets and sunrises), but not getting anything during noon(which was INTENTIONAL but also note it wasn't disabled completely, there is a nice sun glare effect in noon.), do this:

//Exposure(intensity) values for sunshaftsfloat morningshaftex = 0.04f;float eveningshaftex = 0.20f;float goldendecay = 0.99;float noonshaftex = 0.49f;float noondecay = 0.63;float moonshaftex = 0.09f;float moondecay = 0.88;

UP noondecay to default 0.99, but doing that will make noonshaftex too powerful compared to morningshaftex(posure) and eveningshaftex. You can change them to same number for morning and evening and half of it for noonshaftex. (0.30, 0.40, 0.20)

Tweak. Play. Enjoy.

PS. I will add a global multiplier and it is proven that I should include subtle powerful versions of the same shader. But if you tweak and post your settings, be sure I will benefit from them while creating presets.

PPS. For cone effect, it may be the shader. I will look into it.

PPPS. Thanks for the feedback. I was worried actually, nobody complained about it, until now. :P
User avatar
Jennifer May
 
Posts: 3376
Joined: Thu Aug 16, 2007 3:51 pm

Post » Tue Dec 29, 2009 1:27 am

Ok I finally decided to throw all prudence to the wolves(is that the right expression? :P) and try some of the shaders provided with obge v2.
I tried Ssao+DepthOfField+GodRays and to my great surprise it barely hit my fps :o.

SSAO looks really great


Lucky.

I just downloaded the OBGEv2 repack and now Oblivion won't start. I'm guessing it's having a problem compiling the fx (txt) files.

As I have posted 3 times in the past, I am running on Vista 32, have a 8800 nVidea, and the latest OBSE versions, and no older versions of OBGE in my plugins folder. My shaderlist.txt is not empty.\

OBGEvs log
Ingnoring message.RESZ not supported.Depth buffer texture (INTZ) (1024,768) created OK.Depth buffer attached OK. 0Releasing the original depth surface.

User avatar
Beat freak
 
Posts: 3403
Joined: Thu Dec 14, 2006 6:04 am

Post » Tue Dec 29, 2009 6:11 am

Lucky.

I just downloaded the OBGEv2 repack and now Oblivion won't start. I'm guessing it's having a problem compiling the fx (txt) files.

As I have posted 3 times in the past, I am running on Vista 32, have a 8800 nVidea, and the latest OBSE versions, and no older versions of OBGE in my plugins folder. My shaderlist.txt is not empty.\

OBGEvs log
Ingnoring message.RESZ not supported.Depth buffer texture (INTZ) (1024,768) created OK.Depth buffer attached OK. 0Releasing the original depth surface.


It's not even getting as far as compiling the fx files.

At what point does Oblivion crash?

Does it still crash if you temporarily remove the OBSEv2.dll from your oblivion\data\obse\plugins folder?
User avatar
lydia nekongo
 
Posts: 3403
Joined: Wed Jul 19, 2006 1:04 pm

Post » Tue Dec 29, 2009 8:02 am

vtastek:

I didnt realize your intentions were for only morning and evening rays. seeing as you havent worked out offscreen rendering yet that is all fine but once you get that working do you intend to have rays throughout the whole day?

And I didnt know the night time rays weren't real. Thanks for the heads up on that.
User avatar
Peter P Canning
 
Posts: 3531
Joined: Tue May 22, 2007 2:44 am

Post » Tue Dec 29, 2009 2:17 am

On an off note. I have an old "depthtest.dll" still in my obse plugin folder along with obgev2.dll.

is it needed or can I remove it?


No you should remove it. Otherwise the shaders in your shaderlist.txt file will get processed twice.
User avatar
Casey
 
Posts: 3376
Joined: Mon Nov 12, 2007 8:38 am

Post » Tue Dec 29, 2009 9:16 am

No you should remove it. Otherwise the shaders in your shaderlist.txt file will get processed twice.


Ahhh thankyou =]

Also made this.
http://i98.photobucket.com/albums/l256/lordneverar323/ShaderComparison.jpg

feel free to do whatever with it.
User avatar
sunny lovett
 
Posts: 3388
Joined: Thu Dec 07, 2006 4:59 am

Post » Tue Dec 29, 2009 7:37 am

Just spotted the OBGEv2 release here and on nexus.... just want to say thanks heaps. I'll be testing this and updating my mods documentation to point at this.
User avatar
[ becca ]
 
Posts: 3514
Joined: Wed Jun 21, 2006 12:59 pm

Post » Tue Dec 29, 2009 12:59 am

vtastek:

I didnt realize your intentions were for only morning and evening rays. seeing as you havent worked out offscreen rendering yet that is all fine but once you get that working do you intend to have rays throughout the whole day?

And I didnt know the night time rays weren't real. Thanks for the heads up on that.

God rays/sunshafts/crepuscular rays is visible in certain times called golden hours referring to sunset and sunrises. Additionally in extreme contrasted areas they are visible. Like when you are inside a cave, you can see beams of light even it is noon. But that effect is not in this shader's scope. This shader is creating rays for ONE light source(and that is sun) and it is for exteriors only. I remember F.E.A.R., that might have true volumetric lights (or fake) for more than one light source, but I am not sure about that technique's availability.

On the other hand you can just tweak it and you will get rays for whole day.
Try this:
noondecay = 0.70

or
noondecay = 0.80

or
noondecay = 0.90

or
noondecay = 0.99


Actually rays are still there, but they are short. As you increase the length, I recommend to decrease noonshaftex value accordingly. (you may want to optimize other ........ex values. I explained them in my previous post.)
User avatar
hannah sillery
 
Posts: 3354
Joined: Sun Nov 26, 2006 3:13 pm

Post » Tue Dec 29, 2009 1:22 am

@ Scanti: Would it be relatively easy for you to add a SetShaderBool, or should I just convert by bools to floats? I understand bools take less memory, but is it something that is worth a new command?

@ UK47Howard: What on earth is up with the gif you uploaded to Nexus? It's got a horrible load of grey dots covering everything.
User avatar
ijohnnny
 
Posts: 3412
Joined: Sun Oct 22, 2006 12:15 am

Post » Tue Dec 29, 2009 12:23 pm

@ Scanti: Would it be relatively easy for you to add a SetShaderBool, or should I just convert by bools to floats? I understand bools take less memory, but is it something that is worth a new command?
IIRC, setShaderInt should be able to handle boolean variables too.
User avatar
Sheeva
 
Posts: 3353
Joined: Sat Nov 11, 2006 2:46 am

Post » Tue Dec 29, 2009 12:41 pm

@ Scanti/shadeMe: Could you clarify for me what the proper scripting procedure is when using shaders? As in, when should I make sure to turn it off to prevent stacking/bad stuff happening if the mod is removed?

At the moment, the Ambient Dungeons script does this:
Begin MenuMode 1038if loaded	removefullscreenshader shader	set loaded to 0endif EndBegin GameModeif GetGameLoaded || loaded == 0	RunBatchScript "Data\AmbientDungeons.ini"	set shader to LoadShader "AmbientDungeons.fx"	applyfullscreenshader shader 0	set loaded to 1elseif OnControlDown 27	removefullscreenshader shader	returnendif


And I don't think that's right, or it could be done better. Any pointers? I remember something Scanti said about scripters having to make sure to remove shaders properly so that when the mod is removed, the effect doesn't stay because of the savegame integration, or something. Basically, I want to avoid that and effect stacking. All the RemoveFullscreenShader calls there are simply to avoid stacking.

EDIT: This code seems to work without stacking, as it no longer seems to be a problem with OBGEv2, but it doesn't deal with removing the shader properly, so how'd I do that?:
Begin GameModeif GetGameLoaded	RunBatchScript "Data\AmbientDungeons.ini"	set shader to LoadShader "AmbientDungeons.fx"	ApplyFullscreenShader shaderendif

The MenuMode bit was completely scrapped.

Presumably, I'd want to remove the shader when the game is saved, so that it's not saved along with it, making removing the mod easy, but then that defeats the purpose of Scanti's save work...
User avatar
Monika
 
Posts: 3469
Joined: Wed Jan 10, 2007 7:50 pm

Post » Tue Dec 29, 2009 5:56 am

@ UK47Howard: What on earth is up with the gif you uploaded to Nexus? It's got a horrible load of grey dots covering everything.

Hmm looks fine to me, I don't get ''grey dots'', it's maybe your computer
User avatar
Rachel Hall
 
Posts: 3396
Joined: Thu Jun 22, 2006 3:41 pm

Post » Tue Dec 29, 2009 4:05 am

Yeah, I checked again, and it looked a lot better. Perhaps it was the new picture viewing software Dark0ne's got that's doing weird things. :shrug:
User avatar
Spooky Angel
 
Posts: 3500
Joined: Thu Aug 10, 2006 5:41 pm

Post » Tue Dec 29, 2009 10:48 am

@ Scanti/shadeMe: Could you clarify for me what the proper scripting procedure is when using shaders? As in, when should I make sure to turn it off to prevent stacking/bad stuff happening if the mod is removed?

And I don't think that's right, or it could be done better. Any pointers? I remember something Scanti said about scripters having to make sure to remove shaders properly so that when the mod is removed, the effect doesn't stay because of the savegame integration, or something. Basically, I want to avoid that and effect stacking. All the RemoveFullscreenShader calls there are simply to avoid stacking.
From what I can tell, shaders don't stack unless the loadShader call is made with the allowDuplicates flag. When called without it, the plugin adds the shader into its internal data structure. On every applyFullScreenShader call, it checks if the shader being loaded already is. If it is, and the duplicates flag isn't set, it simply returns the integral ID of the already-loaded shader. The serialization routines should take care of delinquent shaders on their parent's removal, but the textures loaded using setShaderTexture can't be. So essentially, you'll need to call freeTexture on all script-initialized textures ( or call purgeManagedTextures once instead, if the command only validates the calling mod's resources - I'll take a look to confirm ) before uninstalling. To remove a loaded shader ( during uninstallation, presumably ), call the removeFullScreenShader command with the permanentlyDelete flag set.

Some news on the support plugin - I managed to find the one I wrote earlier but had to scrap it as I hadn't considered shaders with more than 10 tweakable variables. I've mostly rewritten the menu system with a fancy-sounding dynamic button system that'll add and remove buttons, as needed. Have a couple of bugs to quell before it can be released. Updating the plugin with new variable/shader info is a relatively easy task that doesn't involve anything more than constructing an array structure.

scanti, why exactly can't you release allocated textures using the serialization API ? Are they implemented independently of their parent shaders ? Just curious.
User avatar
cutiecute
 
Posts: 3432
Joined: Wed Sep 27, 2006 9:51 am

Post » Tue Dec 29, 2009 4:44 am

@ Scanti/shadeMe: Could you clarify for me what the proper scripting procedure is when using shaders? As in, when should I make sure to turn it off to prevent stacking/bad stuff happening if the mod is removed?

At the moment, the Ambient Dungeons script does this:
Begin MenuMode 1038if loaded	removefullscreenshader shader	set loaded to 0endif EndBegin GameModeif GetGameLoaded || loaded == 0	RunBatchScript "Data\AmbientDungeons.ini"	set shader to LoadShader "AmbientDungeons.fx"	applyfullscreenshader shader 0	set loaded to 1elseif OnControlDown 27	removefullscreenshader shader	returnendif


And I don't think that's right, or it could be done better. Any pointers? I remember something Scanti said about scripters having to make sure to remove shaders properly so that when the mod is removed, the effect doesn't stay because of the savegame integration, or something. Basically, I want to avoid that and effect stacking. All the RemoveFullscreenShader calls there are simply to avoid stacking.

The code looks like my code from Realistic Health that I posted around, minus my comments which would explain it better. The problem is when you load a savegame, either by the fastload key (OnControlDown 27) or via the menu (MenuMode 1038), the shaders from the currently running game are not removed, so the "if GetGameLoaded" block in the newly loaded game will load its shaders over the top of the previously running game's shaders.

In OBGE v0.1 the currently running shaders are not unloaded when a new game is loaded, but the new game blows away the previous game's state about what shaders are loaded etc. It also didn't have the allowDuplicates flag, but I don't know if that flag will even help you in this case because I don't know if enough state is preserved for it to find the currently loaded shaders.

I don't know what Scanti's save work is... but it it means that the shaders loaded when a game is saved get automatically reloaded when the savegame is loaded, then that should mean you need to scrap the "if GetGameLoaded" block and just rely on the "loaded" flag, but you probably can't remove the "OnControlDown 27" and "MenuMode 1038" blocks unless OBGEv2 automatically unloads shaders before loading a new savegame. This difference in behaviour between OBGE v0.1 and OBGEv2 is potentially a problem... In OBGE v0.1 you cannot trust the "loaded" flag when a savegame is loaded (the flags state is saved in the savegame, but the loaded shaders are not), but in OBGEv2 you must trust the "loaded" flag (both the flags state and loaded shaders are saved in the savegame). Maybe the "allowDuplicates" flag can be used protect against duplicate loading, but I dunno if that flag would be safely ignored by OBGE v0.1.

To correctly write something that works with both OBGE v0.1 (shaders not in savegames) and OBGEv2 (shaders in savegames), you would need to add blocks that unload the shader in the savegame menu and when the quicksave key is pressed. Basically, you need to explicitly avoid having shaders saved in the savegame....
User avatar
roxanna matoorah
 
Posts: 3368
Joined: Fri Oct 13, 2006 6:01 am

PreviousNext

Return to IV - Oblivion