Racer v0.9.0 RC6 Released

Ruud

RACER Developer
It's been too long... Now the new version is at www.racer.nl/dl_beta_win.htm

I'm working on stereoscopic rendering; with Quadro's this is relatively easy, on Geforce not so much, but I've read that driver 314.07 supports it suddenly out of the box?! There should be an Oculus Rift on its way soon (these next few months?) so that should be fun. :)

The changelist:
- Fixed Tracked white menu background
- Camera toggling (with the C key) had an extra mode that should not be there (this was an entity mode)
- Fixed bug in shadows_f.cg full screen shader.
- dbg_car.flip_tan option removed from racer.ini.
- Fixed audio pitch bending frequency to use the original frequency of the loaded sample, instead of the audio engine output frequency.
This could lead to incorrect pitch shifts for example with samples that were stored in 48kHz but played back at 44.1kHz.
- Added warnings for missing LOD models (which could cause disappearing models when generating the shadow maps)
- Modified scaling of racer.ini's dbg_controls.throttle/brakes/clutch/steer to use normalized values (0..1) rather than 0..1000
- Added filtering around wheel (tire) forces; a 2nd order Fz Pacejka input filter (fz_filter_frequency/fz_filter_damping)
and a 1st order Fy (lateral) Pacejka out filter (fy_filter_frequency). Both in data/cars/default/car.ini.
- Also added a 1st order Fx (longitudinal) Pacejka output filter (fx_filter_frequency).
These are useful when dealing with high-fidelity surface data (Lidar or high-frequency road artificial noise)
to prevent very spiky lat/lon accelerations (giving unrealistic grip loss).
- Added dev.opengl_checks to check lots of times for OpenGL errors.
- Added dev.run_first to be able to start a command (like a batch file) before starting Racer.
- Added audio options in car.ini; understeer_oversteer (experimental) and damper sounds. See http://www.racer.nl/tutorial/car_sounds.htm
- Added spline.ini option lines.lateral_divisions to tesselate the spline laterally. This highly improves cambered curves in the road. Values around 6-20.
- Fixed panorama_f.cg shader to light up the texture (would quickly become either black or whitish, never showing the texture image itself).
- Added rtd2ascii.exe tool to convert binary RTD (telemetry) files to ASCII.
- Added fmod() and abs() functions to Onyx, next to improved error/crash reporting.
- Onyx now requires all code to be defined in functions. For independent running of Onyx scripts (onyx_run.exe), you'll need to create a 'void main()' function.
- Added friction_circle_method 10 (similarity model/Marno Hopmans variant) which accepts per-wheel lyka and lxal tuning parameters.
(wheel<n>.pacejka.lyka and wheel<n>.pacejka.lxal). These define Fy influence on slipratio (ka=kappa=slipratio) and Fx influence
of Fx on slip angle (al=alpha=slip angle). Normally you'd use values lower than 1 (and larger than 0) for these lambdas.
- friction_circle_method can be overruled per-wheel (so per-car) under wheel<n>.friction_circle_method.
- Removed dbg_car.use_slip2fc option (obsolete).
- Revised the rendering path to be able to override the main FBO's size. This for surround rendering with split rendering for all 3 screens.
See also www.racer.nl/tutorial/surround_rendering.htm
Current issues: Z-buffer is shifted between split screens (screenCenter uses screenLeft's depth buffer).
- Added quad-buffered stereo support (see racer.ini:resolution.stereo.quad_buffered). nVidia Quadro only currently; 3D Vision may follow for Geforce cards.
See also www.racer.nl/tutorial/stereoscopic.htm
- Added 'vsync <n>' command to set vsync live.
- Autoexposure data/renderer/fullscreen_shaders_hdr/luminance_downsample_f.cg now detects NaN onscreen to avoid exposure spikes.
- nvidia_perf_path added in racer.ini, which needs to point to nVidia's PerfKit DLL. See http://www.racer.nl/tutorial/profiling.htm
- Motion blur taken out for the moment by default.

-----

RC5 Buglist:
- Gearbox shift times not working properly, step from 0 > 1 clutch position over the time rather than smooth linear transition.
- Water reflection not rendering, needs clarification on functionality.
- Qlog discrepancies (I'll let Boomer clarify those).
- Odd console readouts about tyre slip angles or something popping up (same goes for gearbox manual/auto setting, doesn't need to be console displayed imo)
- PerfSDK not working as advertised, broken?
- Multiplayer joining to IP's seems glitched, the person joining has their brake stuck on and are unable to shift
- The Multiplayer Lobby does not let you connect, and subsequently let you host, despite the right ports being forwarded. (Anyone else experiencing this bug?)
- The particles pop-out of existence at the end of their specified lifetime instead of fading away smoothly. It would be nice to have some better control over the fade-in and out over the lifetime of the particle since tiresmoke starts out thick and opaque then disperses and becomes more transparent over time, while gravel or dirt fades in a bit at first then eventually fades away.
- Smoke flickers in the reflections, as though it's missing every other frame.
- Replay bugs: No smoke effects, ghost car is left on track.
- The starter sound plays all the way to the end of the sample instead of stopping when you let off the starter.
- Ghost doesn't work on endless tracks.
- track special.ini: timeline.point_to_point=1, timeline.auto_return=0 - The auto_return setting doesn't seem to work here. I have a point to point track and the car resets 3000ms (3s) after crossing the finishing line, but I don't want it to.
- No reflection in the Racer garage when selecting a car.
- The unsprung weight apparently applies a downforce, try making a 150kg rear axle with the front suspension lighter and the car will act as though it has high downforce when jumping off of a ramp.
- If the wipers are set to rotate in opposite directions then the intermittent position does not rotate back and forth smoothly. It snaps back.
- In RC5c at least, the camera bug is still evident, and on Carlswood (spline based cameras) you can often get stuck so you can't get back to the in-car camera view which is really annoying! - Courtesy of Dave

-----


The Buglist (currently known specific to RC6):
  • Try going in reverse, the front brakes appear to lock. After further examination it looks like in reverse the rear tires will lose traction completely if they spin at all. Alex Forbin
  • Brakes on, car pointed downhill, car creeps forward and to right. Boomer541
  • The physics are screwed up, just try to drive the Baja on the Cloverleaf Highway track and compare with ver090RC5. Try the Lambo also. Details & Details 2 Boomer541
  • Problems with surfaces as the water in my Surfaces and sounds track makes the car float up/down. The water under the bridge flickers which appears to indicate a problem with textures. Boomer541
  • Carlswood has flickers on the tirewall tops. Boomer541
  • Cars wheels go above/below the surface and can make violent bounces. Boomer541
  • There are NO skid marks generated. Boomer541
  • Freezing my system, forcing a hard reset.The freezing even prevents qlog from leaving any hints as to what is going on. More info in post. Cosmo°
  • Physics issues, see post. Chronus
  • At night, everything has a red tint to it, can also be noticed during the day on the darker parts of the track or car. Harey (due to nVidia drivers?)
  • Reverse doesn't work right, seems you have to slip the clutch to get it to go in reverse otherwise you just spin your tires and sit there. Harey
  • Can't run strict=1, can't check car/track for errors!!! Boomer541 post
  • When trying to use tracked to check key cameras the only yellow track section that appears is with the first camera (On carlswood). the p-key does nothing and the splines are different than on ver 090 RC3. Boomer541
  • The three speed wipers Don't do three speeds. pos 1 - off, pos 2 - nothing (S/B intermitant.), pos 3 - normal sppe, pos 4- fast speed. Boomer541
  • In a replay if you use the console you can't send a console command because the enter key has turned into a slow-mo toggle. This means as soon as you use the console in a replay, you are stuck and need to close Racer a 'messy' way. Ie, escape key no longer exits the race. Mr Whippy
  • Multiplayer broken!
 
Last edited by a moderator:
Hi Alex,

The variables are in the racer.ini file

Code:
      ; Inside car
      ; Number of splits used, each split takes one extra render loop (3 should be enough)
      splits=4
      ; texture resolution; MUST match that in data/renderer/common/constants.cg!
      mapsize=1024
      ; split distances 0 - 3, each distance higher than the previous one; now in data/renderer/common/constants.cg? (not true probably)
      splitdist0=5
      splitdist1=25
      splitdist2=125
      splitdist3=640
      ; the amount of frames to skip to increase performance
      splitrenderjump0=0
      splitrenderjump1=0
      splitrenderjump2=0
      splitrenderjump3=0
      ; offset the framecount for jumping frames
      splitrenderoffset0=0
      splitrenderoffset1=0
      splitrenderoffset2=0
      splitrenderoffset3=0
      ; debug mode (paints splits)

Obviously I have them turned off here, but it'd be the jump and offset values that you want to change.

It makes sense to use these values as it does save a lot of GPU time, but I just think they need tuning a bit better.


I suppose if you want to use this technique then you want to try think about when you stop seeing car shadows (which are the main problem because they move a lot each frame)...
I guess by 125m the car shadows and moving tree shadows/flags can't be seen any way vs a static one...

So if cars could have shadows turned off by the last split (with the values above for split distances), and then everything else in that last split could probably go 75 frames (or about a second) between updates.


This is where a lot of testing might be needed to try out a range of values. I guess it's all tied into the resolution you run (and the current blurry shadows near camera issue aside), but I bet there are optimal values/ranges for tolerable shadows.

I think I got to the above values which Ruud uses after a lot of testing along those lines.

But now considering frame skipping, maybe we can do stuff like double the resolution (we all have lots of GPU ram these days anyway hehe :) ), and extend the ranges.
Maybe we can find a balance that lets us do the car/moving items in the first two splits and update them every frame, and then every other frame for the 2nd one.
Then maybe the 3rd/4th splits can be literally every second because all the things they cover are so far away they may as well be static (and turn them off for the cars at this distance?)


I'm not sure, just thinking out loud.

Deffo worth optimising is what I'm saying... but just not soooo aggressively :D

Dave
 
Just thinking out loud more.

I wonder how much potential there is in using the current camera FOV to change the shadow settings.

The problem here is over 125m away on a track camera the car shadows is clearly jerking.

So in car it looks fine, but from a replay camera it doesn't.

Just like the LOD scales with FOV, I wonder if it'd be possible to scale the shadow mapping skipping/offsets, or even distances, with the FOV used.

Obviously on a very wide FOV you can probably be more aggressive with skipping and map sizes than you can with a narrow FOV.


Ultimately though for me shadow mapping cost isn't that high considering the realism it adds.

Sure it can be optimised but even having the last two splits here at 60 frame intervals only gets me 60 > 65fps... and it looks terrible.


Given the FPS boost we saw with tweaking the cpu affinity stuff, I'd say there is much more worth in Ruud looking at optimising the CPU usage better on multi-core processors (ie, not just all using one CPU core, limiting GPU throughput massively)

Dave
 
Hmmm, it seems colour grading is only written into the non-motion blur full screen shader right now...

Just thinking about colour grading logic here and also white balance problems.

I'm using colour grading to fine tune white balance because real values tint heavily otherwise (especially blue on a clear sunny evening!)...
But colour grading is a static effect so you can only really run fixed TOD again... which is pants hehe :D

I'm wondering if the white balance could be done with a curve in the TOD set, and simply be a gamma adjust on the blue channel pre-tone mapping so you can push the blue up/down to suit...

I'm not sure if it's as simple as that but it'd make more sense when using real values.


Right now we have real illumination values and we use exposure to balance them out, but we also need to use real illumination tint values because they change through the day too.

At sunset when the lighting is heavily sky based we get a heavy blue tint as the sky light remains blue and fairly high powered vs the subsiding diffuse sunlight power.

The only fudge to get nice colours is to reduce the power of the blue ambient, but since this doesn't impact the rayleigh sky rendering the sky looks too blue vs the ambient cast we have on objects.



Real values open up cans of worms. Also having dynamic TOD does too. But it's easily fixed just by adding one more curve into the TOD set I'd guess.

Then we can do nice vivid coloured and accurate TOD curves right through the day.

Only possible tweak I'd make beyond that is a car per-camera exposure compensation.




Just fiddling with some real values I've been capturing again recently using my light metering gear...

Still not happy with the mie sun either. I've got it set to 0.005 x the power and it's still putting out more kLux than my incident light meter suggests it should be... but now it almost looks too *small* haha.

I've also reduced sun intensity values to get the sky dome rendering about the same intensity as real life...


Anyone wishing to try them.

0.1 extinction factor
0.0009 mie
0.0017 rayleigh
23.25 amb blue
14 amb green
10.935 amb red
86 diffuse red green blue

Code:
  time=1800
  sun=0 0 0 0
  {
    year=2013
    month=6
    day=10
    latitude=53.74
    longitude=-1.37
    timezone=1
    azimuth_offset=0
  }

My colour grade map is just edited blue channel curves a bit, essentially doing a gamma adjustment to the blue channel to warm it up.

I'm not sure if the sun had a tone that needed applying. This is where knowing or understanding the default white balance of the rendering pipeline would be handy, since the sun is a known offset from that.

I'm not sure really how we go about getting all this stuff right. Ideally I need an incident light meter with some kind of system to occlude the sky and focus mainly on the sun, that also gives out a wave-form intensity so I can check how much energy is falling in the absolute wavelengths of r/g/b then maybe we could get a good idea of what colour the sun needs to be.


I'm still thinking it's easier to dump the mie sun, replace it with a flare we can tint (using sun diffuse rgb klux values), and then render the sun spot into stuff with specular.


Ruud, can we have the flare back (at least that tracks in the sky properly), and also gets tinted by sun diffuse rgb values :D

Hmmm



Also the mirrors don't get colour graded it seems, it's quite amazing how blue tinted things are without it haha :D

Dave
 
The bug I reported on page 4 about a bridge launching a car has been futher investigated by making a track with just five objects. sky, road/splined, with edge, track/unsplined with track edge.

The track object goes over and under the road object and connects to it. going over the s/f line with the Lambo default car with this fouled up version it sinks into the track object suface and gets launched and reset like pressing Shift-F. If the speed is varied the Lambo might not go to high and land back on the track object. Just try running in both directions a few times to see the result.

Note that there are no supporting structure fo any object and I did include the cache in the download which S/B deleted and regenerated.

Download link: "http://www.mediafire.com/download/dhb3fs7s7w4a6ia/brid"

Give it a try. Ruud can use it to fix this bug!
 
I think it is because racer prefers to drive on the spline than just a polygon with collision, so it always is trying to do so. in this case, the polygons with collision are in the way so it has to choose. In this instance, while only being an example, the spline is the primary course to drive, I'd loose the collision on stuff you're not driving on and close off those roads with guardrails and such. I know this isn't a solution for a free roaming sort of deal though.
 
William, that solution precludes the making of tracks with bridges for this version which is unaceptable.
The launching was not there with ver 0845 and this track worked just fine with that version. this problem is also with the 090 version getting progressively worse from 090 RC3 to 090 RC6.

Therefore it's a real bug for Ruud to fix so that we can easily make bridges for tracks.

Note: If the road/splined object goes over the track/unsplined object there is no launching.

Also tried changing the flag= for the track object using 2 and then 4 one of which launched the car into the air and then did nothing else, Shift-P put it back in the pit position. Very wierd behavior!
 
You can 'use mesh hits' but that isn't a solution either if you want/need to drive on smooth splines!

Or use a lidar type mesh with smooth data instead of splines, so splines are just a guide for AI, cameras and resetting etc.

Hmm

Dave
 
You can 'use mesh hits' but that isn't a solution either if you want/need to drive on smooth splines!

Or use a lidar type mesh with smooth data instead of splines, so splines are just a guide for AI, cameras and resetting etc.

Hmm

Dave

I normally use a more detailed surface and mesh_hits=1 since the splines feel too artificial to me.
This might have something to do with the new collision optimization that was implemented recently, I have problems with cars falling though the surface on tracks with large polygons. Also check the materials definitions, a softer material will cause a failure as well.

Alex Forbin
 
Also noted that the track and edge objects did not cast a shadow on the road object below. Objects should be able to cast a shadow on themselves. Both the track and road object use the same texture.

Did try using mesh hits, didn't help.

Will try to use a different texture to see what happenvs.
 
Pretty sure an object can cast a shadow on itself.

What you might be seeing here in RC6 is the same bug effecting the z-buffering tweaks Ruud is in the middle of which see's shadows sinking under surfaces so they are not visible.

I'd not spend any more time on exploring bugs because I think Ruud has a big enough list for an RC7 release to fix before adding any more hehe :D

Dave
 
Yes Mr. Whippy, An object can cast a shadow on itself. In this track it don't in this version. The same track moved to ver 090 RC5, cache deleted and run the shadows work nicely as they should. The default Lambo sinks into the suface and can get stuck in ver 090 RC5.

I made this track to demonstrate the launching, Changing the track object flag to = 2 will result in a sinking into the surface as soon as the car is driven onto it and then the launch occurs in ver 090 RC6.

It has been almost three months since we have heard from Ruud, It would be nice if he made a post telling us what he is doing. Makes one feel abandoned otherwise.
 
Hmmm, don't you need flag = 6 (2 collide + 4 surface) for anything the car will drive on and needs a surface definition?

Sorry if you've already explained this stuff elsewhere I've recently moved house so just coming back to stuff after a week of web-absence hehe :)

Dave
 
From a previous post.
Flag=0 transparent, car drives thru also used for sky along with 68 or 72
Flag=1 sky?
Flag=2 solid object, car can drive on it
Flag=4 surface defined in special.ini
Flag=6 combines 2+4 most often used for objects driven on

With the Bridges track I've tried them all in various configurations, Strange results in Ver 090RC6.
 
RC6 is just a hot bed for non-working things and I wouldn't try make sense of anything at this stage.
There is a good chance that it's just a plain straight forward "bug" and Ruud has enough info to look into it and check it using your base research so far.

For example, you could go through all those new coefficients and variables in the default car.ini and start tweaking them. I know many are important but who knows what is really important and what they do any more? Ruud hasn't posted any info about tuning them or what they do so you could spend literally weeks going through sets of testing and in the end the bridge bug is actually just a Newton bug thing, not tyres. Or it could be tyres haha.

No way of knowing so it's over to Ruud at this stage I'd say :D

I currently want to have a play with the skinned models and do some people walking along or standing at the track side ala GT5 courses (thinking the Swiss track), also using timelines to trigger the reverb changes etc. Hmmmm...
Currently I guess it'll work ok but I'm struggling with the resetting. I still think we need DOF 3d volume hulls that are used purely as a look up for setting values etc.

Ie,

if in tunnel_sound_model.dof ( reverb = tunnel)

(really rough pseudo code but you get the point :D )


Could also do this for lots of other events too :)

Dave
 

Latest News

Online or Offline racing?

  • 100% online racing

    Votes: 102 7.9%
  • 75% online 25% offline

    Votes: 134 10.4%
  • 50% online 50% offline

    Votes: 183 14.2%
  • 25% online 75% offline

    Votes: 360 28.0%
  • 100% offline racing

    Votes: 501 39.0%
  • Something else, explain in comment

    Votes: 5 0.4%
Back
Top