Update 27\01\10
So, after the MASSIVE response from the last release i've changed\added\removed a bunch of code for another release.
>>Download<<
Included in this release:
The OS d3d9 DLL
Updated shaders
An example tagset of putting post processes into a map (damnation_pp)
An already compiled damnation_pp
Latest build of usertool
New tag definitions and tag_groups.map
Source
Changed:
- All custom DxWrapper code has been moved to its own GBuffer component, which just smartens things up and makes more sense.
- In the hopes of better performance the (now) GBuffer only outputs depth into a 32bit single channel floating point texture, with velocity and normals going into two, two channel 16bit floating point textures. The normals z value is no longer stored as it can be calculated on the fly.
- There are no longer any changes made to halo's vertex shaders as the GBuffer now only uses two of its own vertex shaders. Also steps have been taken to reduce unneeded rendering whch should boost performance.
- Motion blur now works best if its amount is left as 1.0
- ZEnable, ZWriteEnable and StencilEnable no longer need to be set to false in the shader
Added:
- All post process shaders now use a tesselated quad when rendered. External shaders use a 5x5 quad while internal shaders can have their quad defined in the shader_post_process_collection tag. This could theoretically increase performance, however it does mean that....
- Shaders now require a vertex shader to function.
- An addition which could be used for any OS endevour, not just post processing, is the os_bitmap tag. As reverse engineering Halo's bitmap loading system is beyond me i've take the route of creating my own simple bitmap tag which can store any texture type in most of the directX formats. The usertool build included provides the way of compiling your own os_bitmaps.
- I've also added another tag to the set which is the shader_post_process_instance tag, which allows you to override values set in a shader_post_process tag without having multiple copies of your shader in the map cache.
- Also added is a Post Processing menu option to the OS menu which allows you to toggle internal effects, external effects and motion blur.
- The current HUD scale is now accessible at shader level so shaders that rely on the HUD can now scale appropriately.
- The GBuffer normals now include BSP normal maps.
Removed:
- The dodgy object velocity in the previous build has been removed until such a time that I know how to implement it properly.
- All fake HDR code has been disabled as it sucks ass. Might be put back in if I can think of a better way of doing things.
Fixed:
- The HUD can now be disabled with no ill effects.
- Alpha tested models (trees/bushes/etc) now render to the GBuffer correctly.
- For render points 0-2, the black flash when picking up active camouflage is gone.
TODO:
- In the shader_post_process_collection tag, effects now have "not active when zoomed" and "not active when in a vehicle" flags but these have not been implemented yet.
- Find a pointer to the current far clip distance and expose the value to shaders.
As a side effect of using my own vertex shaders for the GBuffer rather than adding code to Halo's shaders, i've decided to expand the shader replacement code so that you can edit the shaders externally. I've decompiled and saved all of Halo's vertex and pixel shaders, which you can edit and recompile with usertool. This will create two files, "vs_replacements.vsr and "ps_replacements.psr" which will be read by this build of OS and replace Halo's shaders with your edited ones. It's a bit experimental but it should work fine. Halo's pixel and vertex shaders are >>here<<. Just extract the folders into the shaders folder if you want to edit them.
With your bitmap thing... Let's make a custom widget tag so we can have custom-resolution widgets... and make a better ui.map file. (have an include folder for bitmaps of each map so we can see pictures of them mb mb?) Writing up ideas and how that would work for that now.
Also, I think, in order to simplify things we should consider combining our two Open Sauces so people can use both yours and my Open Sauce at the same time. (Could produce some seriously neat things with that)
Downloading to take a look at it now.
it seems that when I run Halo with the usertool executable in my root folder, Halo will throw an exception error. When I rename the usertool to a non-executable file then Halo will start fine but all the textures except flags and some wall markings are completely black. When I then try to run pp_load it gives me an exception error.
This does not occur when open sauce is disabled.
EDIT: Seems it was caused by motion blur. Setting motion_blur_enabled 0 fixed it, but I obviously don't have any motion blur.
Last edited by Jelly; January 28th, 2010 at 02:20 PM.
I'll have a look into the motion blur problem. Out of interest what graphics card do you have?
Also, you can turn things on and off in the yelo menu (F7). You don't have to use the console unless your changing your effects file while in game.
Make sure you are changing the Count value, and putting the correct index in the brackets when adding/removing effects.Originally Posted by Dwood
Code:[Effects] Count: 3 <<< ding ding! [0] Name: DOF Indicies: 2 Render Point: 2 [1] Name: VISR Indicies: 1 Render Point: 2 [2] <<< ding ding! Name: Bloom Indicies: 0 Render Point: 2
There are currently 1 users browsing this thread. (0 members and 1 guests)
Bookmarks