editing guide
[xonotic/xonotic.wiki.git] / Mapping / Lighting.md
1 Lighting
2 ========
3
4 In netradiant, there are two kinds of lights, real time lights (which must be added in-game) and radiosity-based lights (which are added in radiant). This article will deal with both.
5
6 Real time lights (rtlights)
7 ---------------------------
8
9 Real time lights are added and modified using the following console commands, accessible in-game using `r_editlights_help`.
10
11 |Command|Function|
12 |-------|--------|
13 |_Settings_|
14 |r\_editlights|enable/disable editing mode|
15 |r\_editlights\_cursordistance|maximum distance of cursor from eye|
16 |r\_editlights\_cursorpushback|push back cursor this far from surface|
17 |r\_editlights\_cursorpushoff|push cursor off surface this far|
18 |r\_editlights\_cursorgrid|snap cursor to grid of this size|
19 |r\_editlights\_quakelightsizescale|imported quake light entity size scaling|
20 |_Commands_|
21 |r\_editlights\_help|this help|
22 |r\_editlights\_clear|remove all lights|
23 |r\_editlights\_reload|reload .rtlights, .lights file, or entities|
24 |r\_editlights\_save|save to .rtlights file|
25 |r\_editlights\_spawn|create a light with default settings|
26 |r\_editlights\_edit command|edit selected light - more documentation below|
27 |r\_editlights\_remove|remove selected light|
28 |r\_editlights\_toggleshadow|toggles on/off selected light’s shadow property|
29 |r\_editlights\_importlightentitiesfrommap|reload light entities|
30 |r\_editlights\_importlightsfile|reload .light file (produced by hlight)|
31 |_Edit commands (given as arguments to `r_editlights_edit`)_|
32 |origin x y z|set light location|
33 |originx x|set x component of light location|
34 |originy y|set y component of light location|
35 |originz z|set z component of light location|
36 |move x y z|adjust light location|
37 |movex x|adjust x component of light location|
38 |movey y|adjust y component of light location|
39 |movez z|adjust z component of light location|
40 |angles x y z|set light angles|
41 |anglesx x|set x component of light angles|
42 |anglesy y|set y component of light angles|
43 |anglesz z|set z component of light angles|
44 |color r g b|set color of light (can be brighter than 1 1 1)|
45 |radius radius|set radius (size) of light|
46 |colorscale grey|multiply color of light (1 does nothing)|
47 |colorscale r g b|multiply color of light (1 1 1 does nothing)|
48 |radiusscale scale|multiply radius (size) of light (1 does nothing)|
49 |sizescale scale|multiply radius (size) of light (1 does nothing)|
50 |style style|set lightstyle of light (flickering patterns, switches, etc)|
51 |cubemap basename|set filter cubemap of light (not yet supported)|
52 |shadows 1/0|turn on/off shadows|
53 |corona n|set corona intensity|
54 |coronasize n|set corona size (0-1)|
55 |ambient n|set ambient intensity (0-1)|
56 |diffuse n|set diffuse intensity (0-1)|
57 |specular n|set specular intensity (0-1)|
58 |normalmode 1/0|turn on/off rendering of this light in rtworld 0 mode|
59 |realtimemode 1/0|turn on/off rendering of this light in rtworld 1 mode|
60 |_(nothing)_|print light properties to console|
61
62 The most important commands to remember are `r_editlights`, `r_editlights_edit` (color, realtimemode and radius arguments), and of course, `r_editlights_save`. You will not see your light and its effects in real time if you do not execute `r_editlights_realtimemode 1` while having selected the light.
63
64 It is important to note that rtlights can put a serious drain on computers due to the way they work, and they should be used sparingly (don’t make an rtlight on every radiosity light, generally). However, they can easily be disabled from the client-side if a user’s machine cannot handle them.
65
66 Radiosity lights
67 ----------------