Racer v0.9.0 RC8 Released

A new beta is available at http://www.racer.nl/dl_beta_win.htm.

The changelog:

v0.9.0 RC8 (01-11-2013)
-----------------------
- Added 'float eye' passing to fullscreen shaders (postprocessing) as a Cg uniform (0=left/1=right).
- Modified shadowmapping.cg; it could compile badly due to iSqrtSample being used as a constant
and a local variable in one line.
- Added 'splitter' console command in Racer itself. I.e. 'splitter 500' will do a 500x500m grid split
from <trackname> to <trackname>_split. Copy the track itself first from <trackname> to <trackname>_split
and let the splitter overwrite things in the _split version of the track.
- Added 'atlas optimize' command, to generate an atlassed version of the track in <trackname>_atlas.
Much like the splitter above (first copy the track). Not fully working yet.
- Added dev.argument_tracing option in racer.ini for explicit argument stack tracing. Only useful
when you have a crash that requires more information than just the function stack trace. Only
a few arguments are supported inside Racer. Slows down the program if used.
- Const sized arrays in Onyx are now possible: const int MAX_ELT=5; int a[MAX_ELT];
- Font rendering now much more crisp.
- car.ini wheel<n>.tire_model.relaxation_length_lat (and _long) of zero is now accepted (uses instantaneous slip angle/ratio)
- Onyx fork() command to spawn off SPU processes.
- Onyx improvements; peephole optimizer, #ifdef/#define/#else/#endif, #error "message"
- Onyx deg2rad(), rad2deg(), atoi(), atof(), split(), acos(), asin(), atan2(x,y) functions.
- Slipratio clamping in car wheels is now configurable in racer.ini: dbg_car.max_sr (defaults to 1.5)
- Combined slip method #10 (SimilarityMarno) is a validated method that is being used in production at Cruden.
It still isn't optimal though when trying to get drifting cars for example.
It uses a mix using slipRatio and slipAngle (slip=length(SR,SA), Fx*=SR/slip, Fy*=SA/slip).
- Added ProcessCount(), deg2rad() and rad2deg() internal functions to Onyx.
- Improvements for the DirectShow replay exporter; replay.video.muxer, replay.video.yuv_convert
Codecs are still an issue; the Windows Media 9 one seems most stable for now (but slow).
- Added racer.ini replay options for automation of replay movie files (requires dedicated configuration files).
- Added Cg shaders for the simple polygon shadow underneath the car.
- Fixed atmosphere extinction for a lot of the dyn_*.cg shaders.
- racer.ini's gfx.check_opengl_errors is now collapsed into dev.opengl_checks.
- Added car.ini body.yaw_damper magic torque for drifting car control.
- Onyx 'continue' for for/while/do-while/loop.
 
Seems ok here.

Just a few things.



Yay, under car shadow is influenced by extinction, great :D

But the extinction fix seems to have made the sun appear in the extinction calculation that is used for lighting scene objects.
This means we can see the sun in a building for example, or through a car. Ooops. More easily noticed at sunset conditions when the sun goes behind things.




New CryEngine 3 EXP tone mapper feels like Reinhard for contrast/tone, with the CryEngine 3 filmic tone mapper feeling a lot like the UC2 tone mapper. The only difference I see is due to the exposure setting itself.

Lots of choice is always a good thing though.

Personally I've found with real values in tracks though that the UC2/filmic Cry3 tone mapper are much more 'real' looking to my eye sat here.
The EXP/Reinhard methods look really flat in comparison. Even in dark shadows my car interior looks quite well lit!


Hopefully something we can fix sooner rather than later and get these graphics looking consistently great :D


After a quick test drive things feel nice again now.

No weird z-buffering issues either. I can't seem to spot any shadow problems either so all those recent things are now nicely fixed it seems :D


Dave
 
First impressions are positive indeed. As in RC7, the differential locking up when driving in reverse is gone. Looks like qlog has learned to ignore comments/credits and such from car.ini and audio volume is now proportional to the distance from the source (ie, engine sound becomes quieter when moving the camera away from the vehicle).

Still looking through the documentation website to see if there is more info on the friction circle method/combined forces formulae by now, that really needs to be clear so it can be used properly. As I mentioned a few times before, we can't go by feel on these things.

Thanks for the new release, I'll get back to testing and comparing now :)



edit: Alex, did you set engine.enable_stall=1 as well?
 
umpf...the error is behind the keyboard...forgot to disable the auto_clutch in game menue...sry...now it works...

öhm...the shaders are flickering behind/under the car...looks not so good...but the fps looks a little better now...

screenshot001.jpg

sorry can't explain it better...

Alex
 
Last edited:
Thanks for the update Ruud. :)
A few nice changes I've noticed are...
The mouse wheel works in the menu now (nice!)
The smoke doesn't flicker in the cars reflection now.
It looks like Ruud worked some more magic and increased the framerate even more!

I am having an issue with the car seeming to have a negative gravity problem once the
tires leave the ground. It's as if the downforce gets inverted and magnified. Anyone else
see this?

Thanks Ruud :)
Alex Forbin
 
Found the bug. It's the suspension adding force again. In order for it to work I must lower
the bump/rebound stops/damping to basically 0.
Another problem happens when a softly suspended car hits a sharp object on the track, it can cause the bounding box to apparently grow and the car will simply bounce like a ball indefinitely. The image below is the car
as it's hitting the ground so you can see how large the error is..
screenshot004.jpg

Alex Forbin
 
Last edited:
Jumped the gun earlier :)

Im getting some graphical problems and i couldnt even choose the Gallardo_v2 without Racer crashing ^^


Code:
Sun Nov 03 10:37:28 (INFO ): [racer] --- application start ---
Sun Nov 03 10:37:28 (INFO ): [racer] Racer version 0.9.0 RC8: $Revision: 4527 $ (Nov  1 2013/16:31:29) - customer: Internet (32-bits) [main.cpp:368 / main]
Sun Nov 03 10:37:28 (INFO ): [racer] Hostname 'FISEN-DATOR', IP 25.228.118.97, directory 'C:\Program Files (x86)\Games\racer0.9.0_rc6\take2\racer' [main.cpp:374 / main]
Sun Nov 03 10:37:29 (INFO ): [racer] Pixfmt 2: 24 color bits, 0 depthbuffer bits, 0 stencil bits, 0 alpha, stereo: 0. [qxwindow.cpp:461 / EnableOpenGL]
Sun Nov 03 10:37:29 (ERR  ): [racer] wglGetProcAddress(glProgramVertexLimitNV) failed [gllextmgr.cpp:154 / check_wglGetProcAddress]
Sun Nov 03 10:37:29 (INFO ): [racer] Render engine using Cg (4.30) [dgpushader.cpp:47 / DGPUShaderManager::DGPUShaderManager]
Sun Nov 03 10:37:29 (ERR  ): [racer] DGPUShaderManager::Init() Geometry shading is not supported on this card (ATI/Intel?). [dgpushader.cpp:139 / DGPUShaderManager::Init]
Sun Nov 03 10:37:29 (WARN ): [racer] DGPUShader:Load(data/renderer/shaders/dyn_standard_v.cg): The profile is not supported. [qerror.cpp:35 / QShowCGErrors]
Sun Nov 03 10:37:30 (INFO ): [racer] WorldRenderer: you have an ATI graphics card (ATI Technologies Inc.). Working around some long-term bugs. [renderer.cpp:598 / WorldRenderer::LoadSettings]
Sun Nov 03 10:37:30 (WARN ): [racer] envmap.generate_mipmaps is 1 but ATI drivers don't support texCUBElod for mipmapped envmaps in Cg [rmanager.cpp:1111 / RManager::CreateSceneGraph]
Sun Nov 03 10:37:30 (INFO ): [racer] Graphics card has support for 0 groups, 0 barriers [dframelock.cpp:371 / DFrameLock::GetFunctions]
Sun Nov 03 10:37:30 (INFO ): [racer] DFrameLock::SetVSync: vsync was set to 0 (verifying that it now is 0) [dframelock.cpp:177 / DFrameLock::SetVSync]
Sun Nov 03 10:37:30 (INFO ): [racer] Physics engine: NEWTON v3.10, architecture 0 [rmanager.cpp:1631 / RManager::Create]
Sun Nov 03 10:37:30 (INFO ): [racer] Newton (v3) platform 0: cpu [newton.cpp:136 / PNewtonWorld::PNewtonWorld]
Sun Nov 03 10:37:30 (INFO ): [racer] FMOD: modified software format is rate 44100, fmt 2, outChannels 2, inChannels 6, resampler 3, bits 16 [qsample.cpp:1312 / QSampleSetup]
Sun Nov 03 10:37:30 (INFO ): [racer] FMOD blocksize: 23.22 ms, total buffer 92.88 ms, avg latency 58.05 ms [qsample.cpp:1363 / QSampleSetup]
Sun Nov 03 10:37:30 (INFO ): [racer] Controls: main control file is 'profile1.ini' [rcontrolengine.cpp:840 / RControllerEngine::OpenConfig]
Sun Nov 03 10:37:30 (INFO ): [racer] Safety changed to: SAFE [rcontrolengine.cpp:472 / RControllerEngine::StepInput]
Sun Nov 03 10:37:32 (INFO ): [racer] Loading track 'carlswood_nt' [rtrack.cpp:1284 / RTrack::Load]
Sun Nov 03 10:37:33 (INFO ): [racer] QNClient:Connect() attempt to localhost:25000 (RMultiplayer) [client.cpp:230 / QNClient::Connect]
Sun Nov 03 10:37:33 (INFO ): [racer] QNClient: connected to server (our clientID=71, client name 'RMultiplayer') [client.cpp:611 / QNClient::Poll]
Sun Nov 03 10:37:33 (INFO ): [racer] InNewCar: owner 71, car 'lamborghini_murcielago', gridPos 0 (drv The_Driver) [rmessage.cpp:683 / RMessage::InNewCar]
Sun Nov 03 10:37:33 (INFO ): [racer] Loading car 'lamborghini_murcielago' [rcar.cpp:964 / RCar::Load]
Sun Nov 03 10:37:34 (INFO ): [racer] Loading car 'lamborghini_murcielago' [rcar.cpp:964 / RCar::Load]
Sun Nov 03 10:37:47 (INFO ): [racer] WorldRenderer: you have an ATI graphics card (ATI Technologies Inc.). Working around some long-term bugs. [renderer.cpp:598 / WorldRenderer::LoadSettings]
Sun Nov 03 10:37:47 (WARN ): [racer] envmap.generate_mipmaps is 1 but ATI drivers don't support texCUBElod for mipmapped envmaps in Cg [rmanager.cpp:1111 / RManager::CreateSceneGraph]
Sun Nov 03 10:37:47 (INFO ): [racer] Graphics card has support for 0 groups, 0 barriers [dframelock.cpp:371 / DFrameLock::GetFunctions]
Sun Nov 03 10:37:47 (INFO ): [racer] DFrameLock::SetVSync: vsync was set to 0 (verifying that it now is 0) [dframelock.cpp:177 / DFrameLock::SetVSync]
Sun Nov 03 10:37:47 (INFO ): [racer] Physics engine: NEWTON v3.10, architecture 0 [rmanager.cpp:1631 / RManager::Create]
Sun Nov 03 10:37:47 (INFO ): [racer] Newton (v3) platform 0: cpu [newton.cpp:136 / PNewtonWorld::PNewtonWorld]
Sun Nov 03 10:37:47 (INFO ): [racer] Controls: main control file is 'profile1.ini' [rcontrolengine.cpp:840 / RControllerEngine::OpenConfig]
Sun Nov 03 10:37:48 (INFO ): [racer] Safety changed to: SAFE [rcontrolengine.cpp:472 / RControllerEngine::StepInput]
Sun Nov 03 10:37:53 (INFO ): [racer] Loading track 'carlswood_nt' [rtrack.cpp:1284 / RTrack::Load]
Sun Nov 03 10:37:54 (INFO ): [racer] QNClient:Connect() attempt to localhost:25000 (RMultiplayer) [client.cpp:230 / QNClient::Connect]
Sun Nov 03 10:37:54 (INFO ): [racer] QNClient: connected to server (our clientID=71, client name 'RMultiplayer') [client.cpp:611 / QNClient::Poll]
Sun Nov 03 10:37:54 (INFO ): [racer] InNewCar: owner 71, car 'lamborghini_murcielago', gridPos 0 (drv The_Driver) [rmessage.cpp:683 / RMessage::InNewCar]
Sun Nov 03 10:37:54 (INFO ): [racer] Loading car 'lamborghini_murcielago' [rcar.cpp:964 / RCar::Load]
Sun Nov 03 10:37:55 (INFO ): [racer] Loading car 'lamborghini_murcielago' [rcar.cpp:964 / RCar::Load]
Sun Nov 03 10:38:11 (INFO ): [racer] WorldRenderer: you have an ATI graphics card (ATI Technologies Inc.). Working around some long-term bugs. [renderer.cpp:598 / WorldRenderer::LoadSettings]
Sun Nov 03 10:38:11 (WARN ): [racer] envmap.generate_mipmaps is 1 but ATI drivers don't support texCUBElod for mipmapped envmaps in Cg [rmanager.cpp:1111 / RManager::CreateSceneGraph]
Sun Nov 03 10:38:11 (INFO ): [racer] Graphics card has support for 0 groups, 0 barriers [dframelock.cpp:371 / DFrameLock::GetFunctions]
Sun Nov 03 10:38:11 (INFO ): [racer] DFrameLock::SetVSync: vsync was set to 0 (verifying that it now is 0) [dframelock.cpp:177 / DFrameLock::SetVSync]
Sun Nov 03 10:38:11 (INFO ): [racer] Physics engine: NEWTON v3.10, architecture 0 [rmanager.cpp:1631 / RManager::Create]
Sun Nov 03 10:38:11 (INFO ): [racer] Newton (v3) platform 0: cpu [newton.cpp:136 / PNewtonWorld::PNewtonWorld]
Sun Nov 03 10:38:11 (INFO ): [racer] Controls: main control file is 'profile1.ini' [rcontrolengine.cpp:840 / RControllerEngine::OpenConfig]
Sun Nov 03 10:38:11 (INFO ): [racer] Safety changed to: SAFE [rcontrolengine.cpp:472 / RControllerEngine::StepInput]
 

Attachments

  • Untitled-1.jpg
    Untitled-1.jpg
    82.7 KB · Views: 655
You could start by going into racer.ini and turn off mipmap generation for renderend environment maps. You'll find this in line 1045 As real time reflections seems to be turned on by default as well you can also try turning that off. Live_track=0

Code:
envmap
{
  ; Enable old-style spherical environment mapping?
  enable=1
  ; Generate mipmaps from environment map for soft reflection maps? (very expensive when using live_track=1 and render_once=0!)
  generate_mipmaps=1
  ; Live updating of track environment map? (very costly)
  live_track=1

....etc
}
 
Yeah the physics feels funny when the cars get bouncing.

It's certainly worth turning optimise newton tree off and letting Racer re-build the physics mesh again (delete the old one)

I've had this on other tracks before with cones falling through the track because it gets over-optimised it seems hehe :D

I'll have to test properly but the Lambo on Carlswood did manage to get floating perpetually here while spinning around in mid-air! Oops!




Alexander Knoll, I agree the shadows can be a bit iffy due to the time delay between splits being rendered.

I think the issue is as you reduce the shadow cost, fps goes up, so the jerking shadows become less noticeable.
It's like a feedback loop. On my GTX760 I can run those settings now and with 100fps the jerky shadows at a distance look smooth, but when I was running ~ 25fps on my old GPU the jerky shadows looked really bad...

There really is no harm in adjusting any of these settings manually to suit your needs and expectations.

I just noticed that this version of Racer uses 512px shadow maps, not 1024px ones. That is visually 4x softer looking (pixels cover 4x more area vs before)

Really for a nice sunny day a 1024px map looks much better. 512px seems ok for less clear days when the sun is a bit diffused by haze or cloud.



I also just noticed max view distance is 750m which is stupendously short. The other end of long straights on tracks is disappearing here haha.

But it says this should match constants.cg which actually has it set at 50,000m!



Weirdly by setting values for a higher visual quality it seems my FPS are going UP haha.

Live envmap on one side per frame update, shadows left as they are but the res up to 1024px, and view distance to 50km (use LOD's to turn off unimportant objects once they get far away)

Dave
 
This bug may also be causing problems if your view camera for a car view (behind) is overlapping the split boundary between shadows, since the 2nd shadow split is being offset and rendered less often.

Shadows appear sharper further from the camera, almost as if the split-centre for shadows is offset from the camera itself (and not even on the car?!)

No idea but probably something in the car/camera positioning code and not in the shaders I'd guess.

back.jpg
front.jpg


Both the same camera (4 iirc), I just span it around the car to get the front shot.

Cheers

Dave
 
Hmmm, also the new zbuffering? or the new atmosphere shaders? seems to have made the atmosphere much thicker, so I'm not sure what is going on there. It's like thick fog vs how my tracks looked before (custom TOD curves)

Is this a bug, or were all our old ray/mie/extinction settings just wrong before and are correct now?

Given the sun showing up in objects I'd be tempted to say bug but I can't be sure.


Not a huge issue for now.


Indeed the shadow bug above is noticeable now due to the split overlap and lower update being visible even from a behind car view. It's like watching a strobe behind my car driving along, made worse by the lack of motion blur in the fs shader :)



Generally this version of Racer feels ok in lots of ways but lots of things feel to have changed that didn't need to be because they were great before.

All easy to fix though it seems, just change the values back to the old ones hehe.


Only question left for me really is the atmosphere. Tempted to say that it's a bit broken still so I won't spend much time tweaking skies much for this version I don't think. Easy enough to just scale the extinction factor curve down about 4x or so to get a similar look to before.

Cheers

Dave
 
Very last thing, we really need a motion blur fs shader back in Racer. Everything feels so much more real.
The one we had that Stereo tweaked worked fine imo... once fixed for the colour grading and stuff. I've been using it without issue for ages.

Dave
 

Latest News

Online or Offline racing?

  • 100% online racing

    Votes: 92 7.7%
  • 75% online 25% offline

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

    Votes: 172 14.3%
  • 25% online 75% offline

    Votes: 340 28.3%
  • 100% offline racing

    Votes: 467 38.9%
  • Something else, explain in comment

    Votes: 4 0.3%
Back
Top