Jump to content

Post-processing effects test (SSAO/HDR/Bloom)


Recommended Posts

  On 01/06/2012 at 4:04 PM, myconid said:

The dark roof is because of parallax, though it's not a bug. The texture is mirrored, and it already contains shadows. So, when you look at it from the side you see just a part of the bumps that is either light or dark.

Oh, that's my fault UV mapping the rooftiles :blush: easy fix though. Can't wait to test it :P

Link to comment
Share on other sites

Do we want that blurry, oversaturated AOE3 look?

Tbh, I love 'clean' graphics. It's hard to explain but I hope you understand what I mean exactly.

PS: too much 'bloom' can kill the atmosphere: Dawn of fantasy is a good example...

Edited by plumo
Link to comment
Share on other sites

  On 02/06/2012 at 12:33 PM, myconid said:
No, and we don't need to crank the effects up to 1500% like they did.

Agreed :) And we should definitely include the option to turn it (and the other things as well) off at will. Both for performance and so people who don't like it can turn it off :) (I'm not a fan of bloom myself, at least not that overdone as it was in AoE3 :) )

Link to comment
Share on other sites

Alright peeps, new patch. :brow:

http://trac.wildfire...429/bumpy3.diff

This contains all the effects shown in the previous screenshot. Textures are provided for "Roman Civic Centre" and "Snow/snow grass 2" for you to try.

(Hopefully useful) Instructions:

I'm assuming you know how to download the code and compile it on your system. There are detailed build instructions on the wiki for that. Here I'll concentrate on how you can apply a code patch under Windows.

  • Get the latest version of the code from the Subversion repo, or update an existing copy.
  • Download the .diff file from the link above.
  • Find the project's root directory, "\0ad" (it contains the "binaries" and "source" directories). Right-click on "0ad". If TortoiseSVN is installed correctly on your system, you should see an "Apply patch" option. Click it. Select the .diff file.
  • This should bring up a colourful dialog. Look where it shows a listing of the different files being patched (possibly somewhere on the left). Right click on the list and choose "Patch all".
  • The code is now patched! Continue to compile normally.

To actually see the effects correctly, you'll need some additional texture files, which you can find in the archive I attach below. Extract, then copy the contents of "structural" into 0ad/binaries/data/mods/public/art/textures/skins/structural/ and the contents of "terrain" into 0ad/binaries/data/mods/public/art/textures/terrain/types/snow/.

Edit: Let me note once again that this is still a work in progress.

bumpy3.zip

Edited by myconid
Link to comment
Share on other sites

  On 02/06/2012 at 9:27 PM, myconid said:
  • Find the project's root directory, "\0ad" (it contains the "binaries" and "source" directories). Right-click on "0ad". If TortoiseSVN is installed correctly on your system, you should see an "Attach patch" option

Think that should be "apply patch" :) Also, maybe a demo map with the terrain, structures, and lighting that accentuate these changes would be helpful.

Do we have specular maps?

Link to comment
Share on other sites

  On 02/06/2012 at 10:12 PM, historic_bruno said:

Think that should be "apply patch" :) Also, maybe a demo map with the terrain, structures, and lighting that accentuate these changes would be helpful.

Do we have specular maps?

Whoops, fixed.

As for a map, you can have the one I was testing with in the screenshot if you want. It's a really really ugly map. :P

Oh, specular: yes.

I should also mention that some maps look a bit too bright. You might want to try lowering the sun/ambient parameters in Atlas to an acceptable level (usually all need to go down about 10-15).

derp.zip

Edited by myconid
Link to comment
Share on other sites

Hi, myconid.

I've applied your latest patch and compiled, and everything is looking great, except the Roman Civ Centre--it's turned invisible. I also get this error:

ERROR: Failed to compile shader 'shaders/glsl/model_common_norm.vs': 0(103) : error C7011: implicit cast from "vec4" to "vec3"

Do you know what is going wrong here?

Link to comment
Share on other sites

  On 02/06/2012 at 11:19 PM, halcyonXIII said:

Hi, myconid.

I've applied your latest patch and compiled, and everything is looking great, except the Roman Civ Centre--it's turned invisible. I also get this error:

ERROR: Failed to compile shader 'shaders/glsl/model_common_norm.vs': 0(103) : error C7011: implicit cast from "vec4" to "vec3"

Do you know what is going wrong here?

Stricter compiler?

Try changing this line in model_common_norm.vs:


v_bitangent = cross(v_normal, v_tangent);

to


v_bitangent = cross(v_normal, v_tangent.xyz);

Link to comment
Share on other sites

  On 02/06/2012 at 11:30 PM, historic_bruno said:

I'll try your latest patch on an old Nvidia card I have (GeForce 7600?). I'm curious to see if it will work :)

That's about equivalent to fabio's X1600, isn't it? I'm not optimistic, but there's no harm in trying! :thumbsup:

Link to comment
Share on other sites

  On 02/06/2012 at 11:24 PM, myconid said:

Stricter compiler?

Try changing this line in model_common_norm.vs:


v_bitangent = cross(v_normal, v_tangent);

to


v_bitangent = cross(v_normal, v_tangent.xyz);

I guess so, your changes have solved the problem. It's all working okay now, thank you ^^

Just in case it's useful to know, I'm running this on Kubuntu 12.04 and a GeForce 310M with the official NVIDIA drivers (295.49).

Link to comment
Share on other sites

  On 02/06/2012 at 11:49 PM, myconid said:

That's about equivalent to fabio's X1600, isn't it? I'm not optimistic, but there's no harm in trying! :thumbsup:

Well not quite, at least it supports OpenGL 2.1 and GLSL 1.2 :P I had to make the same change as halcyonXIII and then it ran without errors. I'm not so sure there aren't any artifacts, see what you think:

post-10080-0-71113900-1338697438_thumb.j

Link to comment
Share on other sites

  On 03/06/2012 at 4:24 AM, historic_bruno said:

Well not quite, at least it supports OpenGL 2.1 and GLSL 1.2 :P I had to make the same change as halcyonXIII and then it ran without errors. I'm not so sure there aren't any artifacts, see what you think:

post-10080-0-71113900-1338697438_thumb.j

  1. Looks like bad texture filtering (it's an older card).
  2. The brightness you can lower by choosing darker sun and ambient colours.
  3. There may be some dark areas around polygon edges on the roof.

Number 3 is unexpected and may be a bug in one of the effects. Any chance we could get a closeup?

Edited by myconid
Link to comment
Share on other sites

  On 03/06/2012 at 2:02 PM, ribez said:

it could be possible to regulate distance fog depending on terrain?

i mean: more fog near water (river, lake, sea) and tropical terrains, and less in desertic terrains

Well, I plan to expose settings for the fog colour, fade distance and max thickness, which you'll be able to set for each map.

As for having more fog in particular places, you'll need to use other techniques in addition to this.

"Volumetric" ground fog is one such technique to get misty valleys or fog over the water.

For real, awesome-looking fog, you need to use particles (which are supported by the engine, but I don't know to what extent). That's in the domain of cloud rendering, where there are algorithms like this.

Link to comment
Share on other sites

  On 03/06/2012 at 9:48 AM, myconid said:

  1. Looks like bad texture filtering (it's an older card).
  2. The brightness you can lower by choosing darker sun and ambient colours.
  3. There may be some dark areas around polygon edges on the roof.

Number 3 is unexpected and may be a bug in one of the effects. Any chance we could get a closeup?

post-10080-0-71029400-1338772775_thumb.j

This computer is anything but stable, so it wouldn't surprise me if it was just a glitch of my hardware :)

Link to comment
Share on other sites

OK, I tested latest patch. There are some compile warnings:

../../../source/graphics/mikktspace.cpp: In function ‘int Build4RuleGroups(STriInfo*, SGroup*, int*, const int*, int)’:
../../../source/graphics/mikktspace.cpp:1099:18: warning: unused variable ‘bAnswer’ [-Wunused-variable]
../../../source/graphics/mikktspace.cpp:1104:18: warning: unused variable ‘bDiff’ [-Wunused-variable]
../../../source/graphics/mikktspace.cpp:1109:18: warning: unused variable ‘bAnswer’ [-Wunused-variable]
../../../source/graphics/mikktspace.cpp:1114:18: warning: unused variable ‘bDiff’ [-Wunused-variable]
../../../source/graphics/mikktspace.cpp:1072:12: warning: unused variable ‘iNrMaxGroups’ [-Wunused-variable]
../../../source/renderer/InstancingModelRenderer.cpp: In constructor ‘IModelDef::IModelDef(const CModelDefPtr&, bool)’:
../../../source/renderer/InstancingModelRenderer.cpp:127:7: warning: unused variable ‘p’ [-Wunused-variable]
../../../source/renderer/InstancingModelRenderer.cpp:100:16: warning: unused variable ‘vertices’ [-Wunused-variable]
../../../source/renderer/InstancingModelRenderer.cpp:166:14: warning: unused variable ‘faces’ [-Wunused-variable]
../../../source/renderer/MikktspaceWrap.cpp:44:5: warning: unused parameter ‘pContext’ [-Wunused-parameter]
../../../source/renderer/MikktspaceWrap.cpp:44:5: warning: unused parameter ‘iFace’ [-Wunused-parameter]
../../../source/renderer/MikktspaceWrap.cpp:88:6: warning: unused parameter ‘fvBiTangent’ [-Wunused-parameter]
../../../source/renderer/MikktspaceWrap.cpp:88:6: warning: unused parameter ‘fMagS’ [-Wunused-parameter]
../../../source/renderer/MikktspaceWrap.cpp:88:6: warning: unused parameter ‘fMagT’ [-Wunused-parameter]

Here is what I get on my Radeon X1600:

screenshot0003gh.png

Note: Radeon X1600 is OpenGL 2.1/GLSL 1.20.

Also:

  Quote
I'm using fglrx. I wasn't even aware the OSS driver was capable of 3d yet...

Note that on next Linux distributions round you'll have to use the mesa driver as well, since fglrx will drop support for 2xxx->4xxx cards on newer kernel/xorg.

Link to comment
Share on other sites

  On 03/06/2012 at 2:27 PM, myconid said:

Well, I plan to expose settings for the fog colour, fade distance and max thickness, which you'll be able to set for each map.

As for having more fog in particular places, you'll need to use other techniques in addition to this.

"Volumetric" ground fog is one such technique to get misty valleys or fog over the water.

For real, awesome-looking fog, you need to use particles (which are supported by the engine, but I don't know to what extent). That's in the domain of cloud rendering, where there are algorithms like this.

What about using some of the cloud/fog code in Flightgear? AFAIR they're pretty good at semi-realistic clouds. Not sure if it can be easily used in Pyrogenesis though.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...