racer home

Graphics reference


Home Fog, environment mapping, you enable it in gfx.ini.

Dolphinity Organiser - free planning, project management and organizing software for all your action lists



This page describes how you can fiddle with the graphics. All the settings are in racer.ini (which is located in your Racer installation directory).


  • resolution.fullscreen; if set to 1, fullscreen is used
  • resolution.width; sets the width of the window/screen
  • resolution.height; sets the height of the window/screen
  • resolution.bits; 16 or 32 bits (32 recommended)
  • resolution.frequency; refresh frequency (Mac only)
  • resolution.gamma; fullscreen gamma (Mac only)
  • resolution.monitors; number of monitors across which the view is shown. Normally this is 1. For Matrox Parhelia cards, you can set this to 3 to get Surround Gaming (for example 2400x600 = 3x 800x600, so set monitors to 3 and width to 2400). These days you might use an nVidia GTX690 to do surround rendering. See this page for more uptodate information on surround rendering/gaming.
All rendering options are prefixed with 'renderer'. The renderer is used from Racer v0.5.2 on.
  • paint.triangles; render filled triangles? Defaults to 1.
  • paint.normals; render normals at each vertex?
  • paint.wireframe; render wireframe of all polygons?
  • use_array_elements; if set to 1 (default is 0, meaning off), this will use an alternate method of drawing the polygons. This was used during debugging and probably doesn't do much good for users.
  • single_pass; if set to 1, the renderer will always use single pass rendering. Use this in case of trouble with the default (multitextured) state.
Unix specific
  • window.manage; if set to 1, this let's X11 manage the window. This means a border and draggability.
  • fx.interval; the time between each FX processing in ms
  • fx.fog; use fog? (1=enable, 0=disable)
  • fx.fog_hint; specify the approximation of the fog. 0=don't care, 1=fastest, 2=nicest.
  • fx.visibility; defines the drawing distance in meters. Somewhere around 500-1000 is recommended. Can make quite a huge difference in framerate.
  • fx.track_lighting; always enabled for Racer v0.5.2+.
  • fx.sky_enable; draw the sky? Always enabled.
  • fx.skid_mark_buffer
  • fx.skid_mark_enable
  • fx.sun; specifies sun parameters (the sun location itself is stored per track).
Particle effects
  • fx.smoke.particles; defines the maximum number of smoke particles. The lower the number, the higher the framerate can stay when lots of smoke is generated.
  • mirrors.simple.enable; if 1, turns on a simple rectangular mirror at the top of the screen. This requires mirrors.texture.enable to be turned on starting in Racer v052b6.
  • mirrors.simple.wid; width of the mirror polygon (based on a 800x600 view).
  • mirrors.simple.hgt; height of the mirror polygon (based on a 800x600 view).
  • mirrors.texture.enable; if 1, turns on rendering of a mirror texture. This texture (knowns as a special map named '$mirror' for the shaders) will be updated live every frame to match the rear view of the focused car. Very useful to create live mirrors on the car.
  • mirrors.texture.wid; the width of the mirror texture. Use a small value (never wider than the window size you're at) like 256.
  • mirrors.texture.hgt; the height of the mirror texture. Can be smaller than the width. Say width=256, height=64 for starters. The larger these two values, the more performance is lost rendering the mirror.
  • mirrors.texture.fov; the field-of-view (in degrees) used in mirror rendering.
  • textures.quality; this is a downscale option to reduce the size of texturemaps. Normally it is 1 to use the actual image size. If you have low framerates, increase this to 2, 4, 8, 16 or more, as long as it's a power of 2. For example, 8 will downsize the images 8 times, giving small texturemaps. Those look more blurry, but in general give higher framerates.
  • textures.max_wid; this specifies the maximum texture size. Useful for detail tweaking, or older graphics cards which can't use anything above 256x256 for example.
  • textures.max_hgt; this specifies the maximum texture height.
Level of detail (LOD)
  • lod.enable; set this to 1 to enable LOD (the default) or 0 to ignore any LOD modeling. Setting it to 1 is highly recommended.
  • lod.factor; this factor is used on all LOD distances. Normally 1 for the designed LOD distance. Values under 1 will make LOD models being used quicker (a value of 0 even removing all LOD models), and values over 1 will avoid LOD kicking in too soon (if you have the CPU power to spare!).

More information on level of detail settings can be found on a separate page.

More settings

The following settings are stored in racer.ini.


Multiview enables you to use multiple computers to render a widescreen view. There's no limit to how many computers you want to use, so a full 360 degrees is possible (though you need to use camera rotations, not frustum expansions; doing this requires projection distortion which is only possible in the licensed/pro version of Racer).
To setup multiview, run Racer on the side view PC's with multiview.slave set to 1. The slaves will automatically try to find the master computer, as indicated by multiview.master. Once the slaves are running, run the master. The slaves will indicate that the master is found after a second or so. Then start a race on the Master computer.

Multiview is relatively simple to setup, since the slaves automatically connect and disconnect from the master. They DO need to have the same car & track files to work correctly. The slaves are viewers, so it's the graphics that count most though; car.ini files don't matter as much.

More information on using multiple computers can be found here; this is a smaller list of settings.

  • multiview.slave; determines whether this computer will act as a slave.
  • multiview.master; contains the IP address or computer name of the master machine. Slaves will try and connect to that machine.
  • multiview.port; the port number over which communication flows. The port number must be the same on all machines, i.e. 25010.
  • multiview.offset_x; this specifies the location of the computer. For the master this is 0. For a computer on the left of the master, this is -1. A potential second computer to the left of that left machine would have -2. The first computer on the right side of the master has offset_x=1.
  • multiview.offset_y; not yet implemented.

    Dolphinity Organiser - free planning, project management and organizing software for all your action lists

    (last updated March 29, 2013 )