Recommended Parameter Values#

How to use these tables#

Each section names the shader and the values to enter. The neutral ksAmbient / ksDiffuse is 0.225. Sections with a clear layer on top (clear coat, varnish, tyre shine) list a lower ksAmbient / ksDiffuse, for a texture holding the bare colour; a texture taken from the finished, coated object takes 0.225.

  • Using another neutral: multiply ksSpecular, sunSpecular and the clear-layer sections’ ksAmbient / ksDiffuse by your neutral ÷ 0.225.

Using a different shader#

  • ksPerPixelReflection values on ksPerPixelNM or ksTyres: use them as they are.
  • ksPerPixelMultiMap_NMDetail values on plain ksPerPixelMultiMap: use them as they are and set sunSpecular 0.
  • ksPerPixelMultiMap_NMDetail values on ksPerPixelReflection, ksPerPixelNM or ksTyres: add 1 to ksSpecularEXP and divide fresnelEXP by (0.8 + 0.2 × fresnelMaxLevel). The other way round, subtract 1 and multiply.

1a. Coated Textured Surface (vinyl, leather, faux leather)#

Parameter Value
Shader ksPerPixelMultiMap_NMDetail
ksAmbient 0.225
ksDiffuse 0.225
ksSpecular 0.056
ksSpecularEXP 13
fresnelC 0.041
fresnelEXP 6.3
fresnelMaxLevel 0.31

Ungrained gloss vinyl: use Glossy Plastic (2). Varnished or lacquered wood: use Varnished Wood (1c).

1b. Matte Leather#

Parameter Value
Shader ksPerPixelMultiMap_NMDetail
ksAmbient 0.225
ksDiffuse 0.225
ksSpecular 0.038
ksSpecularEXP 9.4
fresnelC 0.037
fresnelEXP 6.2
fresnelMaxLevel 0.18

Unfinished nubuck: use Synthetic Fabric (15).

1c. Varnished Wood (gloss-lacquered wood trim)#

Parameter Value
Shader ksPerPixelMultiMap
ksAmbient 0.16
ksDiffuse 0.16
ksSpecular 0
ksSpecularEXP 30
fresnelC 0.095
fresnelEXP 4.5
fresnelMaxLevel 0.82
sunSpecular 0.46
sunSpecularEXP 1800

Texture: the bare wood’s colour. Painted wood: use the painted surfaces (3c, 17a, 17b).

2. Glossy Plastic#

Parameter Value
Shader ksPerPixelMultiMap
ksAmbient 0.225
ksDiffuse 0.225
ksSpecular 0.0059
ksSpecularEXP 17
fresnelC 0.045
fresnelEXP 6.2
fresnelMaxLevel 0.46
sunSpecular 0.39
sunSpecularEXP 260

2b. Satin Plastic#

Parameter Value
Shader ksPerPixelMultiMap
ksAmbient 0.225
ksDiffuse 0.225
ksSpecular 0.016
ksSpecularEXP 10
fresnelC 0.038
fresnelEXP 6.2
fresnelMaxLevel 0.20
sunSpecular 0.084
sunSpecularEXP 74

3. Rough Plastic#

Parameter Value
Shader ksPerPixelMultiMap_NMDetail
ksAmbient 0.225
ksDiffuse 0.225
ksSpecular 0.027
ksSpecularEXP 7.2
fresnelC 0.034
fresnelEXP 6.1
fresnelMaxLevel 0.11

3c. Smooth Painted Surface (bumpers, signs, body panels, smooth painted metal/plastic)#

Parameter Value
Shader ksPerPixelMultiMap
ksAmbient 0.15
ksDiffuse 0.15
ksSpecular 0
ksSpecularEXP 30
fresnelC 0.11
fresnelEXP 4.4
fresnelMaxLevel 0.81
sunSpecular 0.47
sunSpecularEXP 1800

Paint over a rough substrate: use Rough Painted Surface with Clear Coat (17a).

Metallic paint#

Set ksSpecular to 1.0 and keep the rest.

4. Smooth Metal#

Parameter Value
Shader ksPerPixelReflection
ksAmbient 0.225
ksDiffuse 0.225
ksSpecular 0.42
ksSpecularEXP 19
fresnelC 0.63
fresnelEXP 9.4
fresnelMaxLevel 0.73
  • Texture: near-black, sRGB ≈ 0.17 (linear 0.02), with dirt and oxide on top.
  • Recessed chrome (grilles, wheel spokes, trim set into the body): MultiMap with AO in txMaps.b.

5. Rough Bare Metal (sanded, bead-blasted, cast)#

Parameter Value
Shader ksPerPixelMultiMap
ksAmbient 0.225
ksDiffuse 0.225
ksSpecular 0.13
ksSpecularEXP 8.7
fresnelC 0.59
fresnelEXP 5.5
fresnelMaxLevel 0.49
sunSpecular 0.70
sunSpecularEXP 20
  • Texture: near-black, sRGB ≈ 0.17 (linear 0.02), with dirt and oxide on top.
  • Powder coat: use Powder Coat (17b).

6a. Grass#

Parameter Value
Shader ksPerPixelReflection
ksAmbient 0.225
ksDiffuse 0.225
ksSpecular 0.0088
ksSpecularEXP 3.6
fresnelC 0.024
fresnelEXP 7.0
fresnelMaxLevel 0.033

6b. Grass Multilayer#

Parameter Value
Shader ksMultilayer_fresnel_nm
ksAmbient 0.225
ksDiffuse 0.225
ksSpecular 0 (unused)
ksSpecularEXP 46
fresnelC 0.039
fresnelEXP 7.5
fresnelMaxLevel 1.0
tarmacSpecularMultiplier 1.5

These rules apply to every multilayer section:

  • magicMult other than 1: divide fresnelC, tarmacSpecularMultiplier and fresnelMaxLevel by it. The peak cannot rise above magicMult.
  • Glare streak sparkling on the detail normal map: lower ksSpecularEXP.

7a. Gravel and Sand#

Parameter Value
Shader ksPerPixelReflection
ksAmbient 0.225
ksDiffuse 0.225
ksSpecular 0.0091
ksSpecularEXP 2.8
fresnelC 0.033
fresnelEXP 6.7
fresnelMaxLevel 0.029

7b. Gravel and Sand Multilayer#

Parameter Value
Shader ksMultilayer_fresnel_nm
ksAmbient 0.225
ksDiffuse 0.225
ksSpecular 0 (unused)
ksSpecularEXP 46
fresnelC 0.040
fresnelEXP 8.0
fresnelMaxLevel 1.0
tarmacSpecularMultiplier 1.2

9a. Raw Wood#

Parameter Value
Shader ksPerPixelReflection
ksAmbient 0.225
ksDiffuse 0.225
ksSpecular 0.013
ksSpecularEXP 4.2
fresnelC 0.033
fresnelEXP 7.0
fresnelMaxLevel 0.045

Varnished wood: use Varnished Wood (1c). Painted wood: use the painted surfaces (3c, 17a, 17b).

10a. Rough Concrete#

Parameter Value
Shader ksPerPixelReflection
ksAmbient 0.225
ksDiffuse 0.225
ksSpecular 0.0073
ksSpecularEXP 2.1
fresnelC 0.033
fresnelEXP 7.0
fresnelMaxLevel 0.023

10a-iv. Painted Concrete (kerbs, painted floors, painted walls)#

Parameter Value
Shader ksPerPixelReflection
ksAmbient 0.225
ksDiffuse 0.225
ksSpecular 0.032
ksSpecularEXP 8.7
fresnelC 0.036
fresnelEXP 7.5
fresnelMaxLevel 0.15

Heavily scuffed kerbs: use Smooth New Tarmac, Painted Rough Concrete (11a).

10b. Concrete Multilayer#

Parameter Value
Shader ksMultilayer_fresnel_nm
ksAmbient 0.225
ksDiffuse 0.225
ksSpecular 0 (unused)
ksSpecularEXP 46
fresnelC 0.033
fresnelEXP 8.5
fresnelMaxLevel 1.0
tarmacSpecularMultiplier 0.88

11a. Smooth New Tarmac, Painted Rough Concrete#

Parameter Value
Shader ksPerPixelReflection
ksAmbient 0.225
ksDiffuse 0.225
ksSpecular 0.020
ksSpecularEXP 6.0
fresnelC 0.033
fresnelEXP 7.3
fresnelMaxLevel 0.081

11b. Asphalt — Smooth New Tarmac Multilayer#

Parameter Value
Shader ksMultilayer_fresnel_nm
ksAmbient 0.225
ksDiffuse 0.225
ksSpecular 0 (unused)
ksSpecularEXP 46
fresnelC 0
fresnelEXP 4.4
fresnelMaxLevel 1.0
tarmacSpecularMultiplier 2.0

12a. Asphalt — Grainy Old Tarmac#

Parameter Value
Shader ksPerPixelReflection
ksAmbient 0.225
ksDiffuse 0.225
ksSpecular 0.0099
ksSpecularEXP 3.1
fresnelC 0.034
fresnelEXP 6.9
fresnelMaxLevel 0.032

12b. Asphalt — Grainy Old Tarmac Multilayer#

Parameter Value
Shader ksMultilayer_fresnel_nm
ksAmbient 0.225
ksDiffuse 0.225
ksSpecular 0 (unused)
ksSpecularEXP 46
fresnelC 0.042
fresnelEXP 7.8
fresnelMaxLevel 1.0
tarmacSpecularMultiplier 1.3

13. Billboard Trees (Leaves) — ksTree shader#

Parameter Value
ksAmbient 0.225
ksDiffuse 0.225
ksSpecular 0
ksSpecularEXP 1

14. Natural Fabric — cotton, wool, felt (headliner, pillars, cloth seats)#

Parameter Value
Shader ksPerPixelMultiMap_NMDetail
ksAmbient 0.225
ksDiffuse 0.225
ksSpecular 0.0064
ksSpecularEXP 1.3
fresnelC 0.032
fresnelEXP 4.0
fresnelMaxLevel 0.020

15. Synthetic Fabric — polyester, nylon, Alcantara (seats, door cards, sport trim)#

Parameter Value
Shader ksPerPixelMultiMap_NMDetail
ksAmbient 0.225
ksDiffuse 0.225
ksSpecular 0.018
ksSpecularEXP 5.3
fresnelC 0.033
fresnelEXP 5.9
fresnelMaxLevel 0.066

Coarse synthetic cloth: use Natural Fabric (14).

16. Painted White Lines on Road, Smooth Concrete#

Parameter Value
Shader ksPerPixelReflection
ksAmbient 0.225
ksDiffuse 0.225
ksSpecular 0.027
ksSpecularEXP 7.5
fresnelC 0.035
fresnelEXP 7.4
fresnelMaxLevel 0.12

Tyre lettering#

  • Separate ksTyres lettering material: these values.
  • Lettering in the tyre texture: the higher ksSpecular goes on the material, the diffuse alpha masks the other part.
  • Tyre shine: lettering alpha ≈0.65. Worn tyre: ksSpecular 0.015 on the material, rubber alpha ≈0.56.

17a. Rough Painted Surface with Clear Coat (textured body paint, rough painted trim)#

Parameter Value
Shader ksPerPixelMultiMap_NMDetail
ksAmbient 0.15
ksDiffuse 0.15
ksSpecular 0.016
ksSpecularEXP 30
fresnelC 0.11
fresnelEXP 4.4
fresnelMaxLevel 0.81

Smooth substrate: use Smooth Painted Surface (3c). No clear coat: use Powder Coat (17b).

Metallic paint#

Set ksSpecular to 1.0 and keep the rest.

17b. Powder Coat and Matte Finishes (powder coat, textured plastic, weathered paint)#

Parameter Value
Shader ksPerPixelMultiMap_NMDetail
ksAmbient 0.225
ksDiffuse 0.225
ksSpecular 0.040
ksSpecularEXP 9.8
fresnelC 0.038
fresnelEXP 6.2
fresnelMaxLevel 0.19

Clear-coated: use Rough Painted Surface with Clear Coat (17a).

18a. Window Glass (windscreen, side windows, rear glass)#

Parameter Value
Shader ksPerPixelReflection
ksAmbient 0.225
ksDiffuse 0.225
ksSpecular 1.4
ksSpecularEXP 20000
fresnelC 0.50
fresnelEXP 3.9
fresnelMaxLevel 0.88
isAdditive 0

These values are for the outer mesh: normals facing out, seen only from outside the car.

Texture Alpha RGB (0–255)
Old car, untinted 0 40, 40, 40
New car, blue-green tint 0 15, 29, 33

Dust: white at alpha ≈0.01, about 1% coverage.

Inner mesh#

  • Shader ksWindscreen, normals facing into the cabin: seen only from inside the car.
  • It has no ksSpecular, ksSpecularEXP or fresnel settings, so nothing in the tables above applies to it.
  • Texture alpha below 0.5: invisible, except toward the sun, where it shows as glare on dust and dirt.
  • Texture alpha 0.5 or above: visible at all times as an opaque layer. Don’t use it on a window.
  • Clean glass: RGB black, alpha 0. Dust: RGB white, alpha below 0.5.

Outer mesh with Material_Glass#

ksAmbient / ksDiffuse 0.56, fresnelC 0.24. It ignores ksSpecular, ksSpecularEXP, fresnelEXP, fresnelMaxLevel and isAdditive.

Texture Alpha at extThicknessMult 1 RGB (0–255)
Old car, untinted 0.11 13, 13, 13
New car, blue-green tint 0.18 0, 12, 15

18b. Lamp Outer Glass (headlights, stop, tail, turn and fog lights)#

Parameter Clear Coloured
Shader ksPerPixelReflection ksPerPixelReflection
ksAmbient 0.225 0.225
ksDiffuse 0.225 0.225
ksSpecular 0.88 0.82
ksSpecularEXP 20000 20000
fresnelC 0.67 0.23
fresnelEXP 3.3 3.2
fresnelMaxLevel 1.0 0.85
isAdditive 1 0

Every colour uses the Coloured values; only the texture changes.

Texture Values Alpha RGB (0–255)
Clear Clear 0.38 12, 12, 12
Worn, at the scratches Clear 0.47 77, 77, 77
Red (stop, tail, rear turn) Coloured 0.76 58, 0, 0
Amber (turn) Coloured 0.61 66, 9, 0
Selective yellow (fog) Coloured 0.40 85, 77, 0

Worn glass between the scratches: the clear texture, with as much haze as the wear calls for.

With Material_Glass#

ksAmbient / ksDiffuse 0.56, fresnelC 0.28 for clear and 0.20 for coloured glass. It reads only ksDiffuse, fresnelC and, for dynamic lights, ksAmbient.

Texture Alpha at extThicknessMult 1 RGB (0–255)
Clear 0.082 0, 0, 0
Worn, at the scratches 0.18 123, 123, 123
Red (stop, tail, rear turn) 0.76 56, 0, 0
Amber (turn) 0.66 58, 8, 0
Selective yellow (fog) 0.51 62, 55, 0

18c. Projector Lens (round low-beam and fog lens that blurs the bowl behind it)#

Parameter Low beam (dark bowl) Fog (bright bowl)
Shader ksPerPixelReflection ksPerPixelReflection
ksAmbient 0.225 0.225
ksDiffuse 0.225 0.225
ksSpecular 0.45 0.68
ksSpecularEXP 20000 20000
fresnelC 0.24 0.51
fresnelEXP 3.4 4.5
fresnelMaxLevel 0.88 0.91
isAdditive 1 1
Texture Alpha RGB (0–255)
Low beam (dark bowl) 0.75 50, 50, 50
Fog (bright bowl) 0.50 50, 50, 50

Alpha: 0.75 where the bowl and bulb are only just made out through the lens, 0.50 where they show fairly clearly.

18d. Gauge / Instrument Glass (glass or plexiglass)#

Parameter Value
Shader ksPerPixelReflection
ksAmbient 0.225
ksDiffuse 0.225
ksSpecular 1.4
ksSpecularEXP 20000
fresnelC 0.55
fresnelEXP 4.2
fresnelMaxLevel 0.90
isAdditive 0
Texture Alpha RGB (0–255)
Clear 0 17, 17, 17
Worn, at the scratches 0.036 173, 173, 173

With Material_Glass#

ksAmbient / ksDiffuse 0.56, fresnelC 0.31. It reads only ksDiffuse, fresnelC and, for dynamic lights, ksAmbient.

Texture Alpha at extThicknessMult 1 RGB (0–255)
Clear 0.23 2, 2, 2
Worn, at the scratches 0.31 113, 113, 113

19. Refracted Glass (Tail Light Inner Patterned Glass)#

Parameter Clear Coloured
Shader ksPerPixelNM ksPerPixelNM
ksAmbient 0.225 0.225
ksDiffuse 0.225 0.225
ksSpecular 0.89 0.82
ksSpecularEXP 20000 20000
fresnelC 0.64 0.23
fresnelEXP 2.7 3.2
fresnelMaxLevel 1.0 0.85
isAdditive 1 0

Alpha goes in the normal map’s alpha channel, RGB in the diffuse texture. Every colour uses the Coloured values, the same as 18b’s.

Texture Values Alpha RGB (0–255)
Clear Clear 0.38 13, 13, 13
Red Coloured 0.76 58, 0, 0
Amber Coloured 0.61 66, 9, 0
Selective yellow Coloured 0.40 85, 77, 0

20. Frosted Glass (Modern Car Tail Lights)#

Parameter Clear Smoked
Shader ksPerPixelReflection + Material_Glass ksPerPixelReflection + Material_Glass
ksAmbient 0.56 0.56
ksDiffuse 0.56 0.56
fresnelC 0.32 0.26

Frosting blur on what is seen through it: extRefractionBias.

Texture Alpha at extThicknessMult 1 RGB (0–255)
Clear 0.17 111, 111, 111
Smoked 0.83 16, 16, 16

21. Headlight / Tail Light / Indicator Reflector#

Parameter Value
Shader ksPerPixelMultiMap
ksAmbient 0.225
ksDiffuse 0.225
ksSpecular 0
ksSpecularEXP 26
fresnelC 0.87
fresnelEXP 12
fresnelMaxLevel 0.90
sunSpecular 2.7
sunSpecularEXP 170

Texture: near-black, sRGB ≈ 0.17 (linear 0.02).

22. Blacked-Out Headlight Reflector (Glossy Black Painted)#

Parameter Value
Shader ksPerPixelMultiMap
ksAmbient 0.225
ksDiffuse 0.225
ksSpecular 0.0019
ksSpecularEXP 20
fresnelC 0.047
fresnelEXP 6.2
fresnelMaxLevel 0.55
sunSpecular 0.41
sunSpecularEXP 350

23. Tyre Rubber — ksTyres shader#

Wheel-arch glow: move fresnelMaxLevel toward the worn-tyre value, at the cost of a flatter sidewall.

23a. Fresh Tyre with Tyre Shine#

Parameter Value
Shader ksTyres
ksAmbient 0.15
ksDiffuse 0.15
ksSpecular 0.091
ksSpecularEXP 46
fresnelC 0.038
fresnelEXP 7.4
fresnelMaxLevel 0.20

Same texture as the worn tyre.

23b. Worn Tyre without Tyre Shine#

Parameter Value
Shader ksTyres
ksAmbient 0.225
ksDiffuse 0.225
ksSpecular 0.0082
ksSpecularEXP 1.8
fresnelC 0.033
fresnelEXP 6.7
fresnelMaxLevel 0.029

24. Rubber Trim (weather strips, wipers, interior seals)#

Parameter Value
Shader ksPerPixelReflection
ksAmbient 0.225
ksDiffuse 0.225
ksSpecular 0.032
ksSpecularEXP 8.7
fresnelC 0.036
fresnelEXP 7.5
fresnelMaxLevel 0.15