Racer v0.8.22 released!

Ruud

RACER Developer
Yep, it's at http://www.racer.nl/download/racer0.8.22.zip (63Mb).
Known issues:
- Tracked still displays white
- Generic models don't get transformed correctly to their right location

Mostly this version is a lot nicer in the tonemapping/HDR department; I think it's quite good enough to leave as is for v0.9, so it's easier from now on to tweak content for.

Changes:
- Added speed limiter (controlled per car); see http://www.racer.nl/tutorial/engine.htm#speedlimiter
- If the speed limiter is on, the rpm_warning variable will 'flash' between 0 and 1. Useful
for Formula-style cars which indicate it that way.
- Added view var 'speed_limiter' that is 1 if the speed limiter is enabled (default: SPACE key)
- Added rev limiter time per car; see http://www.racer.nl/tutorial/engine.htm#revlimiter
- Added view mapping curve to map input values to output values. This allows for non-linear
dials, such as km/h gauges, commonly seen on lots of cars. See http://www.racer.nl/tutorial/dials.htm
and look for the 'map' variable.
- HDR tonemapping now uses the Uncharted 2 method. See http://www.racer.nl/tutorial/hdr.htm
This looks cleaner (a bit in the GT5 direction). In constants.cg you can add some gamma to increase
contrast (default=1.0).
- Modified auto exposure filter gain from 0.1 to 0.001 (much slower)
- Decoupled dynamic exposure integration from exposure sampling; made it smoother with less sampling.
- dyn_standard_bump_reflect_f.cg had a bug in its fresnel calculation, resulting in funny reflection
factors. Fixed.
- Multiplayer collisions using forces/torques instead of SetPosition(). Newton could get seriously
stuck when doing that (taking >1 second while resolving collisions for a single step).
Still a bit alpha functionality.
- Flares are now rendering using Cg to be able to give them more light. The 'color' property
of a flare should now be in klux, so a value of around 'color=40 40 40' should be better.
- TOD editor can now zoom in with Z key (multiple zoom levels); some curves needed precision at the low end.
- TOD exposure curve improved so things also work without auto-exposure.
- standard_mix*.cg shaders changed to put the most important texture in layer0. This was needed since
projective lighting only uses the first texture to light the scene, and that was a control texture,
giving funny black & white looks when lit. See http://www.racer.nl/reference/gpushader.htm
- Renderer now caches OpenGL's texenvmode for a small performance gain.
- Added 'reload track' console command.
- Added 'sound reverb <n>' console command. Useful in combination with trigger lines to give certain
areas of the track reverb sound. See http://www.racer.nl/reference/scripting.htm
- Carlswood sky improved (thanks to Luthobu)
 
I've checked and fixed the backfire problem; was an uninitialized variable that delay spawning particles for a looong time.
I'll check out the sliding problem tomorrow, probably need a function to give the car a good bump for good testing. Hm.

Not sure if exhaust smoke should work; I haven't worked on that.
 
View attachment 31568
I checked road_noise_threshold recently (a week ago or so) and it worked fine. The thresholds work per frequency though, perhaps that's the problem?

I'm running these settings:

road_noise=0.1
road_noise_frequency=0.4
road_noise_amplitude=1.0
road_noise_threshold=0.01

and logging with:

graph -0.1 0.1 wheel0.road_noise


This should generate a wave of 10cm for the road noise (0.1m), since it's at full amplitude (1.0), and then be cut back to 1cm (0.01m) threshold.

To me that says the curve I would see without the threshold, but anywhere that the curve goes out of 0.01m +/- then the curve becomes flattened.


The plot looks nothing like that:
View attachment 31567 graph_01.jpg

What I expect:
graph_02.jpg


What is the behaviour of the threshold I should expect?

Thanks

Dave
 
It's just dawned on me why mesh fences, and other similar objects, don't look right when viewed from angles. It's because IRL they have depth.
ok a chain-mesh fence doesn't have much depth, wire thickness, but not hair-thin as it appears in-game & then get's lod'd to nothing.
Is there a way thru Cg we can add thickness to a tiled, alpha'd chainwire mesh texture? I suppose i'm asking for something like extrusion?
 
It's just dawned on me why mesh fences, and other similar objects, don't look right when viewed from angles. It's because IRL they have depth.
ok a chain-mesh fence doesn't have much depth, wire thickness, but not hair-thin as it appears in-game & then get's lod'd to nothing.
Is there a way thru Cg we can add thickness to a tiled, alpha'd chainwire mesh texture? I suppose i'm asking for something like extrusion?

No-can-do to extruce faces like that, or at least it would create trouble probably with collisions. Anyway, for Newton; that likes objects to be at least ~10cm thick, for collision purposes. For these fences I do create extrude triangles (without the edge faces though) for unculled objects like fences and infinitely thin guardrails for example.

v0823 being uploaded...
 
No-can-do to extruce faces like that, or at least it would create trouble probably with collisions. Anyway, for Newton; that likes objects to be at least ~10cm thick, for collision purposes. For these fences I do create extrude triangles (without the edge faces though) for unculled objects like fences and infinitely thin guardrails for example....

In Crytek Engine 2, I've been using the Parallax mapping feature & setting the shader params correctly, I could virtually set a thickness into 3D object even though they were flat.

More info : http://en.wikipedia.org/wiki/Parallax_mapping

So, it's just a matter of creating a new shader...
 
In Crytek Engine 2, I've been using the Parallax mapping feature & setting the shader params correctly, I could virtually set a thickness into 3D object even though they were flat.

More info : http://en.wikipedia.org/wiki/Parallax_mapping

So, it's just a matter of creating a new shader...

Do you ever get that close to a chain link fence, and at such a shallow angle, to notice it's not actually got depth?

Surely the poles that support the wire fence would be enough to stop you getting to such a shallow angle for this to be a problem almost all the time?


I like the idea of just using a normal map to give the fence some shadow and highlight instead... not sure how it would look but it could be pretty good?!

After all, how thick is the wire on a chain link fence? 3-4mm...

Personally I think this is where faking the effect is better than simulating it. Do something fast and effective to fool the eye, rather than simulate the actual fence/wire topography... this is Racer not fence appreciation sim ;) hehe :D

Dave
 
Yes you do, it is also made worse by mipmapping of the alpha layer, the individual wires get mipmapped away to nothing, and before they mimap to nothing they casue all sorts of weird anti-aliasing visuals at varying distances.
I'm more pointing out that something there is wrong visually with objects like this, what I see on TV isn't what I see in Racer.
 
DavidI,
Try this fence shader, it works vevy well.

shader_fence~vf_standard_transparent
{
compression=0
sort_offset=51
cull=none
shininess=1
layer0
{
map=fence.tga
alpha_to_coverage=1
alphafunc=greater 40
wrap_t=clamp_to_edge
}
}
 
Yep, make sure to turn compression off for anything other than general diffuse textures.

Specular maps, normal maps, opacity maps, all those things with subtle BUT important texture information, can get really messed up with compression. Tyre spec/normal maps really need compression=0 for example, to look nice :D

Good tips Boomer :)

Dave
 
Yep, make sure to turn compression off for anything other than general diffuse textures.

Specular maps, normal maps, opacity maps, all those things with subtle BUT important texture information, can get really messed up with compression. Tyre spec/normal maps really need compression=0 for example, to look nice :D

Yep, I just turn off compression altogether in racer.ini. Not much of a performance drop on normal-size tracks for me.
 
Here's also a fence shader we use:
vf_standard_transparent
{
vertex_shader
{
file=standard_v.cg
}
fragment_shader
{
file=standard_transparent_f.cg
}
}
shader_fencea~vf_standard_transparent
{
diffuse=1 1 1
ambient=1 1 1
cull=none
layer0
{
map=railing.tga
alphafunc=gequal 10
alpha_to_coverage=1
}
}
 
I want to start making some fence/wire shading type stuff.

I like the idea of using normal maps to give stuff the topography it needs, having specular highlights on the appropriate parts of the wires as you pass slowly by will give them much more depth!

Dave
 

Latest News

Are you buying car setups?

  • Yes

  • No


Results are only viewable after voting.
Back
Top