Racer

Ruud

RACER Developer
Welcome to RaceDepartment. :)
As RSC has been offline for quite a while, RaceDepartment has been gracious enough to host a temporary Racer forum.

To kick it off, here is Racer v0.8.0. Warning: all things are set to target relatively high-end graphics card. nVidia 7950+ somewhat. Onboard cards will not do.

The download is at http://www.racer.nl/download/racer080.zip (42Mb).
If you have an ATI card, Cg shaders may not work due to a bug in Cg 2.1. Try the patched racer.exe from http://www.racer.nl/download/racer081a_patch.zip (1Mb).

Hope you can enjoy it!
Ruud

The patch (really a preview of v0.8.1, so interesting for nVidia users as well) changes these, although no data files are included you can check out some things already:
- Added envmap.live_track.sides_per_frame to set update count of live envmap
- Car.ini camera<n>.view variables were read, but never used. Removed loading them, they are (and were) obsolete.
- LOD (level of detail) for objects is now adjusted to take into account the camera FOV (normal FOV=50).
- Split fullscreen_shaders directory into LDR and HDR variants (data/renderer/fullscreen_shaders_hdr and _ldr).
- Added car.ini engine.idle_method to avoid throttle being slightly open all the time. See http://www.racer.nl/tutorial/engine.htm
- Now enforcing engine.stall_rpm to be at least 100 rpm less than idle_rpm to enable the new idle_method 1.
- Added engine.braking_torque_curve to specify a curve for the engine braking instead of the linear parameters.
(the Lambo now uses such a curve for demonstration)
- Modified smoke particles to have no velocity. Also increased the brightness somewhat.
- Bloom map was 16-bit, now 8-bit.
- Added car.ini audio.skid audioset based on skid amount (around 0..2). This allows subtle scrub sounds before
going to screeching & screaming.
- Added 'gearwhine_off' audioset for gearwhine under deceleration circumstances.
- Fuel consumption was based on engine output torque, added internal friction (engine braking torque) in fuel use calculations.
- Renamed racer.ini variable 'collision.report_car_trk' to 'collision.report_car_track_collision'
- Added car.ini's reboundstop_len and reboundstop_k for much the same as a bumpstop, only to prevent wheels falling through susp<n>.maxlen
see http://www.racer.nl/tutorial/suspensions.htm#reboundstops
- susp<n>.restlen no longer needs to be smaller than maxlen. It ignored precompression that way.
- Added fuel.rof to overrule the fuel grams/liter parameter. Normally it's around 700 for regular petrol.
- Added views.ini 'invert' field (0/1) which inverts the variable (like 'factor' which multiplies it)

The list of changes since v0.7.3:

- Bugfix: OpenGL3.0 drivers would crash Racer due to a mistake in getting some extension function pointers.
- Bugfix: track's with special.ini gfx.time below 1000 (10am) were not interpreted correctly.
- Bugfix: turning on projected lights no longer kills some 3D dials
- Heavily modified Cg shaders. Also added a lot more. See http://racer.nl/tutorial/gpushader.htm
- Projected lights used alphafunc, which made lights on semi-transparent object pixely.
- Added car.ini's model_reverse_l/r models for true rear lights. This should do away with the views.ini hack to add reverse lights.
- Modified live track envmapping to not do all sides every frame. Lots faster.
- Removed dbg_stats tree in racer.ini (it was obsolete).
- Added 'clouds' script command for Cg-shaded skies, added 'clouds' uniform float parameter for Cg shaders (0..1).
- Also added 'clouds' in a track's special.ini (env.clouds)
- Added resolution.vsync to sync to display frequency or not (0=max fps, 1=sync, >1=set interval)
- Added moving helmet (+pilot body) model option in car.ini. See http://www.racer.nl/tutorial/helmet.htm
- Raised the number of possible flares for each car to 20 (was 10)
- Simple (single-polygon) shadows for car views without a body model are now turned off.
- Removed 'fx.sky_enable' option. The sky is always on.
- Removed 'gfx.reflections' option. Was/is obsolete.
- Added graphics.show_names to be able to indicate driver names floating above cars.
- Added mirrors.texture.fbo setting to render into an offscreen framebuffer object (faster)
- Added mirrors.texture.fbo_samples setting to enable anti-aliasing of the mirror.
- Added HDR rendering basics (renderer.hdr.enable=1). Uses data/renderer/shaders_hdr directory if enabled, shaders_ldr otherwise.
- Added Bloom rendering for HDR mode (renderer.bloom.enable=1).
- Split data/renderer/shaders directory in two: shaders_ldr and shaders_hdr. HDR is the way to go. LDR will be deprecated.
- Added ini.auto_lights setting (0/1) to determine with time-of-day controls a car's light automatically
- Added shader 'reflect' material property for reflective Cg shaders (in the same line as diffuse, ambient, specular etc).
Use this in conjunction with [dyn_]shader_reflective_v/f.cg for example.
- Added car.shd/track.shd 'motion_blur' variable to turn off motion blur velocity map generation for certain shaders (wheels mostly).
- Added auto-exposure settings for HDR rendering (racer.ini:renderer.auto_exposure.*)
- Added fx.sun.auto_time_of_day to track real current (PC) time for the time of day in Racer
- Added fx.sun.fast_time_factor to set time speed. Normally 0 for no time change, 1 for realtime, >1=faster than realtime
- Added fueltank in cars. See data/cars/default/car.ini (fuel.* settings). Currently in alpha. No fuel means no throttle.
- Added fuel view variables for views.ini files (for cars). See http://www.racer.nl/tutorial/fuel.htm for details.
- Added formatting option for views.ini; 'float_1' displays a value with 1 decimal (for example: 123.4).
- Added 'sample_hold' option for view elements to get slow-updating dials (mostly useful for digital dashboards)
- Added fx.sun.flare option to remove sun flare. It doesn't match with the Cg sun position.
 
Ruud,
I tried just about every combination of sky.tga/jpg images on both sky boxes and sky domes and found problems with the sky and sky_daynight cg's! The settings I used in the racer.ini renderer section was hdr off, bloom off, and autoexposure off or on, all other renderer section settings original values and motion blur disabled.

carlswood with hemisphere sky.dof, special.ini and track.shd original settings.
sky.tga and sky_clouds.tga, results as original 081.
sky.tga and night01.tga, distortion. See image carlswood1.jpg
sky.tga and sky_night.jpg, results ok

carlswood with sky_daynight cg's
sky.tga and sky_night.jpg, day 2 brite nite distorted carlswood2 & 3 images

With sky cg's using the sky.tga image on layer0 and the sky_clouds.tga image on layer1 the night image is the day image darkened!!! See carlswood4.jpg

SurfacesNSounds track flags=73, intensity=100, box sky.dof
SurfacesNSounds with sky_daynight cg's
layer0 sky_clouds.tga and layer1 sky.tga results good but nite/day reverse!
layer0 sky.tga and layer1 sky_clouds.tga result good poor maping on box
layer0 sky.tga and layer1 sky_clouds.tga intensity 100 to see sun.
layer0 sky.jpg and layer1 sky_night.jpg works good, bad day/nite transition!

SNS flags=73 or 0, intensity=1500, hemisphere sky1.dof
layer0 sky.jpg and layer1 sky_night.jpg bad, nite=day dark, hill not visible!
l ayer0 sky16a.tga and layer1 sky_clouds.tga nite=day dark, hill not visible!

With sky_daynight cg's and flags=0 the dome sky must be large enuf to cover track. With flags=73 the sky keeps away but distance visibility limited. Also the night sky is the day sky darkened.

Must have the sky.jpg image on layer0 and the sky_night.jpg image on layer1 or night/day get reversed!!!

images used on box sky. sky.jpg and sky_night.jpg
images used on dome sky. sky16atga.jpg and night01 tga.jpg
 

Attachments

  • carlswood1.jpg
    carlswood1.jpg
    15.4 KB · Views: 237
  • carlswood2.jpg
    carlswood2.jpg
    32.1 KB · Views: 265
  • carlswood3.jpg
    carlswood3.jpg
    15.5 KB · Views: 224
  • carlswood4.jpg
    carlswood4.jpg
    18.9 KB · Views: 222
  • night01 tga.jpg
    night01 tga.jpg
    21.4 KB · Views: 232
  • sky16atga.jpg
    sky16atga.jpg
    22.8 KB · Views: 242
  • sky.jpg
    sky.jpg
    81.5 KB · Views: 369
  • sky_night.jpg
    sky_night.jpg
    29 KB · Views: 1,126
  • sammon

INI files

Hello,

I thought about making a small script but I have some questions about the data in .ini-files.

If I know the right starting position of the grid from special.ini file I can get the starting position but how can I get the first spline according to the starting position from spline.ini? I mean which spline would be the first one the car drives over?

What meaning is with the scale_velocity variable in traffic.ini?

Thanks in advance!
 
  • davidiau

Boomer, one thing I noticed going thru the shaders, from sky_daynight_f.cg
Code:
// Cloud cover
float factor=CloudCoverAlpha(dayCol.a,clouds);
dayCol*=factor;
// Star cover as well
nightCol*=factor;
So the alpha layer from layer0 or day tga is used to alter the cloud factor.
[edit] I just made two sky tga's, one with black alpha, one white. black alpha produces black (transparent) sky, white produces full untransparent sky texture, even at night (2300), but I COULD see stars a little brighter [/edit]
[edit 2] after a bit more playing, i found that increasing the intensity to 1300 odd made the sky lighter as u said, but it seems that the difference between night & day sky base colours is very minimal, or it just doesn't work. [/edit]
[edit 3] after a bit more playing, i found that removing
'clear_color=xxx'
from special.ini got things working better ;) playing more with the intensity seems to have helped, and I also found that I hadn't specified gfx.exposure to anything, something like
exposure=50
seems ok. I've almost got it working. I tried setting clouds alpha to white for clouds and black for sky, this seems to make the blue sky in the texture transparent, showing racer's timed sky colour, and also seems to make the stars show out better. I can't get any screenies due to technical difficulties, or I'd show u. I haven't got it all perfect, but it is annoyingly almost right.[/edit]
 
  • davidiau

Ok, I've got the day and night working on Mugello. I had to alter the sky_daynight_f.cg:
Code:
// Cloud cover
float factor=CloudCoverAlpha(dayCol.a,clouds);
dayCol*=factor;
// Star cover as well
nightCol*=factor;
to
Code:
  //float factor=clouds;
  float factor=CloudCoverAlpha(dayCol.a,clouds);
  dayCol*=factor;
  // Star cover as well
  nightCol*=CloudCoverAlpha(nightCol.a,clouds);
u need clear_color removed from special.ini
u need gfx.exposure=50 (play with the figure, this is Ruud's suggested)
u need the clouds and trees/land etc black in the day texture, and sky coloured bits to be white.
U need the night texture to be white for stars and anything else u want to show, and black for dark sky bits.

The reason it didnt work was the cg was using the day's alpha for the night cloud mix, so u would only see night texture where there was cloud showing. I altered the cg so it uses the night texture alpha for the night texture instead of using the day alpha, so stars show correctly independant of clouds.
Seems to have done the trick for me on Mugello anyways.
 
  • davidiau

Looks like I will have to buy another computer (planned on it anyway).


Is RACER still unkind to ATi chipsets?
As always, its more ATI/AMD's drivers aren't entirely openGL friendly. There's always hope, or there's nVidia ;)

Must add the Day & night will look pretty good once I sort out some better textures for day.
One comment, night sky is to show objects like stars in the night (& day) sky, and day is for day objects in the sky.
Note the 'in the sky' bit.
Racer provides the clear sky colour, the textures are blended with the sky colour based on textures alpha channel and gfx.env.clouds setting and for day texture the time of day as well.
The distinction I'm trying to make is that day sky texture is to show things like far off scenery mostly.
I think clouds need to be a seperate object/dof independant of sky dome and time.
 
  • davidiau

Hello,

I thought about making a small script but I have some questions about the data in .ini-files.

If I know the right starting position of the grid from special.ini file I can get the starting position but how can I get the first spline according to the starting position from spline.ini? I mean which spline would be the first one the car drives over?
Spline 0 is always on the startline, the first to be crossed. Racer has problems with some older tracks because their splines don't start at '0' on the startline.
 
Hi,

I've downloaded the demo, seems easy to use! Right now I didn't mange to correctly export a track for Racer, but I'm certainly doing something wrong…

Thank you for this great news, Alex ;)

Make sure you point the exporter to Racers home dir, for example...
c:\sims\racer

You also need to make a new track dir for Racer called bobstrackbuilder.
I hope this helps.

Alex Forbin
 
Make sure you point the exporter to Racers home dir, for example...
c:\sims\racer

You also need to make a new track dir for Racer called bobstrackbuilder.
I hope this helps.

Alex Forbin

Thank you Alex (the other one hehe :) ) for this answer, but path aren't an issue. I've quickly done an open track from some KML points, but for some reasons, when racer execute the track, some parts of the road are hidden. Don't know why, as other parts aren't...

But that's why the demo exist, to test stuff like that, and to figure out what I'M doing wrong. I really like the concept, perhaps next month I'll buy it :)
 
Hm... Racer 082 doesn't even run on my machine anymore.

QLOG:
Code:
Fri Apr 24 21:13:53 (INFO): [noqapp/828] --- application start ---
Fri Apr 24 21:13:53 (INFO): [noqapp/828] 1 processor(s); setting affinity to 0x1
Fri Apr 24 21:13:53 (INFO): [racer/828] Racer version: 0.8.2 (Apr 24 2009/14:29:50)
Fri Apr 24 21:13:54 (INFO): [racer/828] MaxSwapGroups 0, maxSwapBarriers 0
Fri Apr 24 21:13:54 (WARN): [racer/828] DFrameLock:JoinSwapGroup() failed
Fri Apr 24 21:13:54 (INFO): [racer/828] Audio: setting speakermode to 2 (stereo, system default is stereo)
Fri Apr 24 21:13:54 (WARN): [racer/828] QSample:Load(); can't load 'data/audio/heavy_imp_1.wav': File not found. 
Fri Apr 24 21:13:54 (WARN): [racer/828] RAudioSample: Can't load sample 'data/audio/heavy_imp_1.wav'
Fri Apr 24 21:13:54 (WARN): [racer/828] QSample:Load(); can't load 'data/audio/heavy_imp_2.wav': File not found. 
Fri Apr 24 21:13:54 (WARN): [racer/828] RAudioSample: Can't load sample 'data/audio/heavy_imp_2.wav'
Fri Apr 24 21:13:54 (WARN): [racer/828] QSample:Load(); can't load 'data/audio/heavy_imp_3.wav': File not found. 
Fri Apr 24 21:13:54 (WARN): [racer/828] RAudioSample: Can't load sample 'data/audio/heavy_imp_3.wav'
Fri Apr 24 21:13:54 (WARN): [racer/828] QSample:Load(); can't load 'data/audio/heavy_imp_4.wav': File not found. 
Fri Apr 24 21:13:54 (WARN): [racer/828] RAudioSample: Can't load sample 'data/audio/heavy_imp_4.wav'
Fri Apr 24 21:13:55 (ERR ): [racer/828] DFBOTexture: multisampled FBO's not supported on your card; setting samples to 0 (renderer.motion_blur.samples)
Fri Apr 24 21:13:56 (INFO): [racer/828] Loading track 'carlswood_nt'
Fri Apr 24 21:13:59 (INFO): [racer/828] QNClient:Connect() attempt to 127.0.0.1:25000
Fri Apr 24 21:13:59 (INFO): [racer/828] QNClient: connected to server (our clientID=71)
Fri Apr 24 21:13:59 (WARN): [racer/828] DGPUShaderManager:MakeObject(dyn_standard_bump_reflect_v.cg): can't create CG vertex shader program
Fri Apr 24 21:13:59 (WARN): [racer/828] DGPUShaderManager: [data/renderer/shaders_ldr/dyn_standard_bump_reflect_v.cg] CG ERROR : "The compile returned an error."
Fri Apr 24 21:13:59 (WARN): [racer/828]   data/renderer/shaders_ldr/dyn_standard_bump_reflect_v.cg(64) : warning C7011: implicit cast from "float4" to "float3"
data/renderer/shaders_ldr/dyn_standard_bump_reflect_v.cg(68) : warning C7011: implicit cast from "float4" to "float3"
data/renderer/shaders_ldr/dyn_standard_bump_reflect_v.cg(32) : error C5109: variable "R" domain conflicts with semantics "ATTR"
data/renderer/shaders_ldr/dyn_standard_bump_reflect_v.cg(33) : error C5109: variable "I" domain conflicts with semantics "ATTR"
data/renderer/shaders_ldr/dyn_standard_bump_reflect_v.cg(33) : error C5041: cannot locate suitable resource to bind parameter "I"
Fri Apr 24 21:13:59 (ERR ): [racer/828] Exiting on compile error.
Fri Apr 24 21:13:59 (WARN): [racer/828] QObjMgr: object 'data/images/rain01.tga' still around with 1 reference(s)
Fri Apr 24 21:13:59 (WARN): [racer/828] QObjMgr: object 'data/images/snow.tga' still around with 1 reference(s)
Fri Apr 24 21:13:59 (WARN): [racer/828] QObjMgr: object 'standard_v.cg' still around with 2 reference(s)
Fri Apr 24 21:13:59 (WARN): [racer/828] QObjMgr: object 'standard_burn_f.cg' still around with 2 reference(s)
Fri Apr 24 21:13:59 (WARN): [racer/828] QObjMgr: object 'standard_vc_v.cg' still around with 23 reference(s)
Fri Apr 24 21:13:59 (WARN): [racer/828] QObjMgr: object 'standard_vc_f.cg' still around with 23 reference(s)
Fri Apr 24 21:13:59 (WARN): [racer/828] QObjMgr: object 'sky_v.cg' still around with 1 reference(s)
Fri Apr 24 21:13:59 (WARN): [racer/828] QObjMgr: object 'sky_f.cg' still around with 1 reference(s)
Fri Apr 24 21:13:59 (WARN): [racer/828] QObjMgr: object 'animate_test_v.cg' still around with 4 reference(s)
Fri Apr 24 21:13:59 (WARN): [racer/828] QObjMgr: object 'standard_f.cg' still around with 4 reference(s)
What gives?
 
sdvfhskhgfskfkjsdfsd

The new 0.82 version works great for me, in fact whereas i was getting 14 FPS earlier with everything on, HDR, Bloom, Motion blur, i now get 25 FPS!

And with Motion blur off its so much better, earlier i got about 30-50 depending on car/track, now im getting between 100-180 FPS! Havent had those figures in Racer since something like version 0.5 :good:
 
  • davidiau

Night and day on Mugello, all i did for these was type 'time 0000' or 'time 1200' in the console and hit 'f12', not perfect but compared to before well, like night and day really...
 

Attachments

  • day.jpg
    day.jpg
    92.8 KB · Views: 230
  • night.jpg
    night.jpg
    52.8 KB · Views: 244
I can't run it on my pc.... with two ati hd4850 crossfire...... racer start.... and black screen..... and return to windows........ :crying:

can someone help me?

Thanks!!!!!

Edit: the menù don't start... double click on racer..... two second black screen..... return to windows.
 
Suspension movements

Hello! Is there any value in car.ini file to displace the wheels in 'z'
axis deppending on suspension lenght value? I'm working on Citroën 2CV suspensions. Thanks!:drool:
 
Hello! Is there any value in car.ini file to displace the wheels in 'z'
axis deppending on suspension lenght value? I'm working on Citroën 2CV suspensions. Thanks!:drool:
sure, look in the car.ini, wheel0-3, add or change the "z" value like you want.....

Code:
wheel_front~wheel_all
{
   y=0
[COLOR=red]  [B] z=0[/B][/COLOR]
   steering=1
   powered=1
   power_gearing=0.773262
 ;diff_ratio=3.46(split=32/68=0,4705)/2=0.813965-5%loss...
        ;Front: 8.5Jx19 / 235/35 R19
   lock=58
   camber=-0.623
   mass=30
 

Latest News

What brands would you like to see with more engagement in simracing?

  • Ferrari

    Votes: 281 36.4%
  • Porsche

    Votes: 296 38.3%
  • BMW

    Votes: 279 36.1%
  • McLaren

    Votes: 180 23.3%
  • Toyota

    Votes: 287 37.2%
  • Intel

    Votes: 98 12.7%
  • AMD

    Votes: 145 18.8%
  • Gigabyte

    Votes: 65 8.4%
  • IBM

    Votes: 41 5.3%
  • Elgato

    Votes: 59 7.6%
  • Microsoft

    Votes: 118 15.3%
Back
Top