newLight_Point

From Valve Developer Community
Jump to navigation Jump to search
English (en)Translate (Translate)
Black Mesa Level Creation
NewLight_Point in End Game chapter (used for the portal).
NewLight Point.png

newLight_Point is a point entity available in Black Mesa Black Mesa. It creates an invisible deferred light source that shines in all directions, includes godrays and lightcookies.


Warning.pngWarning:New lights use expensive gbuffer, that means that with this entity your scene rendering at least 5 times, which makes your level very expensive, considering that XenEngine uses 32-bit architecture and DirectX 9.5 rendering. In large quantities, new lights can greatly heat up your computer and also cause large FPS drops (depending on difficulty of your map and how your area open). Use wisely.
Note.pngNote:You can have only 512 point light entities placed in the map editor.

Represented by class CNewLightPoint.

Todo: Rework this page.

Keyvalues

Name (targetname) <string>
The name that other entities refer to this entity by, via Inputs/Outputs or other keyvalues (e.g. parentname or target).
Also displayed in Hammer's 2D views and Entity Report.
See also:  Generic Keyvalues, Inputs and Outputs available to all entities

Pitch Yaw Roll (Y Z X) (angles) <angle> !FGD
This entity's orientation in the world. Pitch is rotation around the Y axis, yaw is the rotation around the Z axis, roll is the rotation around the X axis.
Note.pngNote:There is almost no differences if you're using point light with no texture. Things changes if you're using textures.
Use old Falloff ? (bUseOldFallOff) <choices> !FGD Obsolete
Deprecated.
Sets old falloff state, disabled or enabled. This feature is disabled in the code, so you can't use old falloff (although it is still used for the flashlight).
  • 0: Disabled
  • 1: Enabled
Light Color (LightColor) <color255>
The RGB color of the light. Colors must be between 0 and 255.
Light Intensity (Intensity) <float>
Intensity/brightness of the light. It's RGB * intensity.
Note.pngNote:With 0 it will make the light disabled, including the effects. Doesn't affect shadows.
Range (Range) <float>
Range of the light, or how far the light source can illuminate. Measured in Hammer Units.
Warning.pngWarning:This is one of the parameters that affects performance in the game. Smaller values ​​allow you to process less geometry and save performance.
Note.pngNote:Shadows from objects that are at a great distance look noticeably worse than shadows from objects that are near to the light source.
Icon-Important.pngImportant:Range is limited, the limit depends on intensity value. Do not use values ​​bigger than the intensity value allows.
Examples
Enabled (Enabled) <choices>
Sets light state on spawn, enabled or disabled.
  • 0: Enabled
  • 1: Disabled
Appearance (FlareStyle) <integer choices>
Appearance presets.
Lightstyle presets (epilepsy warning)
Literal Value Description Sequence Preview
0 Normal m Lightstyle 0.png
10 Fluorescent flicker mmamammmmammamamaaamammma Lightstyle 10.gif
2 Slow, strong pulse abcdefghijklmnopqrstuvwxyzyxwvutsrqponmlkjihgfedcba Lightstyle 2.gif
11 Slow pulse, noblack abcdefghijklmnopqrrqponmlkjihgfedcba Lightstyle 11.gif
5 Gentle pulse jklmnopqrstuvwxyzyxwvutsrqponmlkj Lightstyle 5.gif
1 Flicker A mmnmmommommnonmmonqnmmo Lightstyle 1.gif
6 Flicker B nmonqnmomnmomomno Lightstyle 6.gif
3 Candle A mmmmmaaaaammmmmaaaaaabcdefgabcdefg Lightstyle 3.gif
7 Candle B mmmaaaabcdefgmmmmaaaammmaamm Lightstyle 7.gif
8 Candle C mmmaaammmaaammmabcdefaaaammmmabcdefmmmaaaa Lightstyle 8.gif
4 Fast strobe mamamamamama Lightstyle 4.gif
9 Slow strobe aaaaaaaazzzzzzzz Lightstyle 9.gif
12 Underwater light mutation mmnnmmnnnmmnn Lightstyle 12.gif
Tip.pngTip:Use new lights instead for lights with custom appearance, because static lightmapped lights reduces performance with this feature (especially near displacements).
Confirm:Is it possible to have your own light styles (the property are using integer values) ?
Light Ambient Color (LightColorAmbient) <color255>
The RGB color of the shadows. Colors must be between 0 and 255.
Examples
SpecularMultiplier (SpecMultiplier) <float>
Specular multiplier. Sets intensity of new specular shader from this light source. It's RGB * Intensity * SpecularMultiplier. 0 means disabled.
Examples


falloffConstant (falloffConstant) <integer> !FGD Obsolete
Deprecated.
Constant value (can work only if old falloff is enabled).
falloffLinear (falloffLinear) <integer> !FGD Obsolete
Deprecated.
Linear value (can work only if old falloff is enabled).
falloffQuadratic (falloffQuadratic) <integer> !FGD Obsolete
Deprecated.
Quadratic value (can work only if old falloff is enabled).
Light Type (LightType) <choices>
Type of the light. This affects the behavior of the light source with parent, enable/disable dynamic models in shadowmaps, enable/disable static shadowmaps.
  • 0: Static - used only static shadowmaps, this means that shadows are cast only by static objects (prop_static, geometry, etc). Cannot move with parent.
Icon-Important.pngImportant:Brush entities and bmodels are also included in static shadowmaps and they never update (including func_physbox).
Note.pngNote:Static shadowmaps will update after save reload (only once).
  • 1: Stationary - the same as Static, but with dynamic shadows for dynamic models.
  • 2: Dynamic - lighting don't use static shadowmaps at all. It uses dynamic shadows for static objects and dynamic models. This type also can move with parent. This type is expensive, usually used for moving lights, but also can be used if you're getting issues due to static shadowmaps.
Examples
Note.pngNote:Note that shadow from metal box and grate box are flying on first and second pictures, that's because both was placed in air on map spawn. Doesn't happen on third picture, because the light updated shadow for both.
HasShadow (HasShadow) <choices>
Sets shadows state for the light, enabled or disabled. Remember that the default choices is No.
  • 0: No
  • 1: Yes
Examples
ShadowMapLOD (ShadowLod) <choices>
Resolution of shadowmap used by this light. This affects the quality of the shadows.
  • 0: 256
  • 1: 512
  • 2: 1024
Examples
Icon-Important.pngImportant:You cannot use any value from here an unlimited number of times. More information below.
ShadowRadius (ShadowRadius) <float>
Radius of shadow edges for soft shadows. If its value is negative, code will auto assign a value depending on ShadowLod. These code based values can be adjusted via convars nr_shadow_rad_High, nr_shadow_rad_Med and nr_shadow_rad_Low.
Examples
Tip.pngTip:Don't use very low values, because the shadows will look like stairs. Also don't use very high values, because the noise will spoil them a lot, or you'll see only noise.
NearZ (NearZ) <float>
NearZ used by shadowmap camera for this light. This is the distance at which the light source will start cast shadows.
ShadowFaceX (ShadowFaceX) <choices>
Sets shadow state (enabled or disabled) for X face.
  • 0: Enabled
  • 1: Disabled
ShadowFaceX_Minus (ShadowFaceX_Minus) <choices>
Sets shadow state (enabled or disabled) for -X face.
  • 0: Enabled
  • 1: Disabled
ShadowFaceY (ShadowFaceY) <choices>
Sets shadow state (enabled or disabled) for Y face.
  • 0: Enabled
  • 1: Disabled
ShadowFaceY_Minus (ShadowFaceY_Minus) <choices>
Sets shadow state (enabled or disabled) for -Y face.
  • 0: Enabled
  • 1: Disabled
ShadowFaceZ (ShadowFaceZ) <choices>
Sets shadow state (enabled or disabled) for Z face.
  • 0: Enabled
  • 1: Disabled
ShadowFaceZ_Minus (ShadowFaceZ_Minus) <choices>
Sets shadow state (enabled or disabled) for -Z face.
  • 0: Enabled
  • 1: Disabled
DepthBias (DepthBias) <float>
DepthBias is offset added to depth values in shadowmaps.
Examples


SlopeDepthBias (SlopeDepthBias) <float>
Slope Depth Bias used for surfaces having aliasing due to steep angles with light.
Examples
NormalBias (NormalBias) <float>
While rendering objects into shadowmaps, each vertex will be moved along -ve Normal direction, giving it an appearance of shrinking while rendering to shadowmaps. This property determines the amount of Units to be moved. Helps with shadow aliasing.
Examples
Note.pngNote:You will not see any changes if your material doesn't not provide bumpmap.
Icon-Important.pngImportant:Increasing this value will make shadows between different surfaces less accurate, greate example is third picture in examples, there you can see "two" shadows from railing.
Icon-Bug.pngBug:Numbers lower than 0.8 can cause huge graphics issues. Example.
Tip.pngTip:Increase this value if you are getting aliasing issues like this.
Enable Texture Light (bTexLight) <choices>
Sets lightcookie (texture lights) state, enabled or disabled. For NewLight_Point, you need static cubemap texture. For NewLight_Spot, you can use any texture with No Mipmap and No Level Of Detail flags.
  • 0: Disabled
  • 1: Enabled
Examples
Tip.pngTip:Follow these steps to create your own lightcookie texture for point light.
Warning.pngWarning:This is one of the most expensive features, use wisely.
Texture name for TexLight (texName) <string>
Determines which texture will use the light source. Lightcookies are using .vtf (not .vmt) texture from files (just like env_projectedtexture).
.Enable Prop Only Mode (bNegLight) <choices>
Enable Prop Only Mode.
  • 0: Disabled
  • 1: Enabled
Confirm:Deprecated.
LightnGodRayMode (LightnGodRayMode) <choices>
This determines what effects will be available to use for the light source. Keep in mind that the default choice is Light.
  • 0: Light - light only.
  • 1: Godrays - godrays only.
  • 2: Both Light and GodRays - both light and godrays.
Icon-Bug.pngBug:Even if godrays is turned off, the game will still think that the godrays is used if choice is Godrays or Both Light and GodRays.
EnableGodRays (EnableGodRays) <choices>
Sets godrays state on spawn, enabled or disabled.
  • 0: Disabled
  • 1: Enabled
Warning.pngWarning:You can have only 40 point lights with godrays enabled simultaneously, otherwise the game will crash with this error message.
The error
Note.pngNote:Godrays are draw and process even with closed areaportals.
Example
Density (Density) <float>
Density controls the length of rays/volumetric shadows. 1.0 should work in 99% cases. Good values are 0.5-1.5.
Examples
Weight (Weight) <float>
Weight controls the intensity of volumetric shadow. Blocking of rays by geometry. Good values are 0.1-10.
Examples
Decay (Decay) <float>
Decay NOT being used.
Todo: Document what does it change.
Exposure (Exposure) <float>
Exposure controls the intensity of rays during blending pass with main scene. 2.0 is a good start. Good values are 1.0-10.0.
Examples


DistFactor (DistFactor) <float>
DistFactor controls the falloff of rays/length. 1.0 is a good starting value increase or decrease in the increments of 0.1. 0.0 will make the rays dissappear only disk will be rendererd.
Examples
Note.pngNote:Godrays doesn't look smooth if used big value here. The same for Exposure.
Example
ColorInner (ColorInner) <color255 + int>
The RGB color and brightness of the inner circle. Colors and brightness must be between 0 and 255.
Examples
Note.pngNote:Rays is disabled on this picture (the colors are partially blending).
ColorRays (ColorRays) <color255 + int>
The RGB color and brightness of the rays. Colors and brightness must be between 0 and 255.
Examples
ColorOuter (ColorOuter) <color255 + int>
The RGB color and brightness of the outer circle. Colors and brightness must be between 0 and 255.
Examples
Note.pngNote:Rays is disabled on this picture (the colors are partially blending).
Note.pngNote:You can't use black colors for ColorOuter, ColorInner and ColorRays.
DiskRadius (DiskRadius) <float>
Radius of disk/circle of sun/point light in texturespace. 1.0 will be full screen, 0.5 is half screen, etc. 0 means don't render.
Examples
DiskInnerSizePercent (DiskInnerSizePercent) <float>
Disk inner circle radius is DiskRadius * DiskInnerSizePercent. 0 means don't render.
Examples
Note.pngNote:Rays is disabled on this picture (for clarity).
GodRaysType (GodRaysType) <choices>
Sets godrays type, normal or fancy.
  • 0: Normal
  • 1: Fancy
Examples
RenderInWorldSpace (m_bEnableWorldSpace) <choices>
Disables disks if this enabled.
  • 0: Disabled
  • 1: Enabled
Confirm:Does it affect anything else ?
Ell_FR_ConstA (Ell_FR_ConstA) <float>
This is fancy godrays disk size.
Examples
Ell_FR_ConstB (Ell_FR_ConstB) <float>
This is fancy godrays disk distortion.
Examples
EEll_SR_ConstA (EEll_SR_ConstA) <float>
This is fancy godrays disk hole size.
Examples
EEll_SR_ConstB (EEll_SR_ConstB) <float>
This is fancy godrays disk hole distortion.
Examples
Ell_RRF_ConstA (Ell_RRF_ConstA) <float>
This is fancy godrays inner size.
Examples


Ell_RRF_ConstB (Ell_RRF_ConstB) <float>
This is fancy godrays inner distortion.
Examples
RotSpeed (RotSpeed) <float>
Rotating speed of fancy godrays, 0 means don't rotate, with negative number it will rotate to left. Examples (link to a video that showcase different values).
RotPatternFreq (RotPatternFreq) <integer>
Count of fancy godrays, with negative number will deny RotSpeed +/- effect. Examples (link to a video that showcase different values).
m_fAlphaDiskInner (m_fAlphaDiskInner) <float>
[Todo]
m_fAlphaDiskOuter (m_fAlphaDiskOuter) <float>
[Todo]
UseToneMapRays (m_bUseToneMapRays) <choices>
  • 0: Enabled
  • 1: Disabled
Confirm:Deprecated.
UseToneMapDisk (m_bUseToneMapDisk) <choices>
  • 0: Enabled
  • 1: Disabled
Confirm:Deprecated.
ShadowPass_Brush (m_bSRO_Brush) <choices>
Do we want to render world geometry in shadow passes for this light ? Doesn't affect bmodels.
  • 0: YES
  • 1: NO
ShadowPass_StaticProp (m_bSRO_StaticProp) <choices>
Do we want to render prop_static in shadow passes for this light ? This also affect bmodels.
  • 0: YES
  • 1: NO
ShadowPass_DynProp (m_bSRO_DynProp) <choices>
Do we want to render dynamic models in shadow passes for this light ?
  • 0: YES
  • 1: NO
ShadowPass_AlphaTest (m_bSRO__Trans) <choices>
Do we want to render models with transparency materials in shadow passes for this light ? Objects with transparency can cast shadows if your model includes a material without transparency.
  • 0: YES
  • 1: NO
UseToneMapRays (m_bUseToneMapRays) <choices>
  • 0: Enabled
  • 1: Disabled
Confirm:Deprecated.
UseToneMapDisk (m_bUseToneMapDisk) <choices>
  • 0: Enabled
  • 1: Disabled
Confirm:Deprecated.
m_fAlphaDiskInner (m_fAlphaDiskInner) <float>
[Todo]
m_fAlphaDiskOuter (m_fAlphaDiskOuter) <float>
[Todo]

Inputs

SetColorLight <color255>
Change light's color value. Doesn't affect the godrays.
SetIntensityForLight <float>
Change light's intensity value. Doesn't affect the godrays.
TurnOnGodRays <void>
Turn the godrays on.
TurnOffGodRays <void>
Turn the godrays off.
TurnOn <void>
Turn the light on.
TurnOff <void>
Turn the light off.
Toggle <void>
Toggle the light's current state.

Shadow filtering

In versions of the game before Necro Patch uses PСF filter. The shadow edges are sharper and exhibit a more distinct transition. There are visible aliasing artifacts, particularly on the edges. Shadows from small or thin objects were also indistinguishable. However, it was pretty good for shadows with low resolution, because they looked blurry. The shadows are somewhat similar to those that can be seen from the projected textures in Portal 2 Portal 2.

The Necro Patch replaced PСF filter with PCSS filter. The shadow edges appear smoother and less jagged. The transition from the shadow to the lit area has more gradient-like softening. Shadows have become more detailed for small objects. Because of this, you have to adjust the shadows more carefully.

This filter has one significant issue: there is now noticeable noise in the shadows. This is mostly noticeable in low resolution shadows, this spoils them quite a lot (although it makes them more detailed). There is no way to disable this effect. The noise also makes the shadows more similar to shadows from flashlight in Half-Life 2 Half-Life 2. It is worth noting that such thing exists in more modern engines (Unreal Engine 5 for example), so you can ignore the noise if it's not very noticeable, especially on shadows with high quality.

The noise is adjusted via ShadowRadius and ShadowMapLOD values, mainly via ShadowRadius; you even can disable the noise with 0 value, but this will make your shadows will look like stairs/pixels.

Note.pngNote:It is not entirely clear which term is correct, PCSS or PCCS, since it could be orgography, but it is possible (though unlikely) that they created their own filter.

Static shadow maps

If our light source remains in the same position and never changes it, we expect that shadows from world geometry, displacement, prop_static and even bmodels (brush entities) are completely static, this means that we don't need to update shadows for them every frame, so it would be nice to bake shadows for all such objects to save performance. This is why we need static shadow maps.

When your light appears, static shadow maps skip all the dynamic models in their pass and take 1-6 pictures of everything mentioned above, then static shadow maps applies to the lighting from the light source and never change again (until save reload).

This doesn't happen if your light source is disabled, so you need to keep it enabled on spawn around 1 second. If you need disabled light source - set intensity value to 0 and then after 1 second turn off light source (don't forget to set required intensity value).

Static shadow maps are used for Static and Stationary light type. For Stationary type, engine also disable shadows passes in dynamic shadows for everything mentioned above, so that the use of static shadow maps makes sense (this still saves performance quite well). Dynamic light type don't use static shadow maps at all, because it can move, so we need to have dynamic shadows for everything.

Important to note that bmodels are also in static shadows maps, including func_physbox, func_door, func_breakable, etc. This is true, despite the fact that such objects can be removed or moved. Most likely this is due to func_detail, which is very similar in principle to regular world geometry, but cannot be removed or moved, unlike all other brush entities. It gives some problems, because shadows from lab doors or elevators will remain static, while these objects are moving. There are 2 good ways to workaround this issue, "lazy" method and " time-consuming" method. The first is very simple and quick, just use Dynamic light type, this will reduce performance but will completely fix the problem and save your time. The second is using Propper with converting your brush to model, you'll need spend time on propper_model setting and brush replacing, but this will also save performance and solve the problem.

Shadow map slots

Shadow map slots is how many lights with shadows you can have per level. There are 3 separate shadow map slots, High (for lights with 1024 value for ShadowMap LOD property), Medium (for lights with 512 value for ShadowMap LOD property) and Low (for lights with 256 value for ShadowMap LOD property).

In High and Medium you can have 48 separate shadow maps, for Low you can have 47 separate shadow maps (143 shadow maps in total).

Each spot light with shadows takes 1 shadow map slot, so you can have 48/47 spot lights with shadows, if they are using the same value for ShadowMap LOD property.

Each point light with shadows takes 6 shadow map slots. This is due to point light isn't just omnidirectional light source, it's 6 spot lights in one entity. This means that you can have 8 point lights with shadows, if they are using the same value for ShadowMap LOD property. You can increase this value if you need, just disable shadows for one of the shadow face properties.

If one of the shadow map slots is full - you will not be able to have shadows for more lights with such shadow quality, you will need to use other value for ShadowMap LOD property.

Point lights and spot lights doesn't counts separately. You can't have 48 spot lights with 8 point lights, but you can have 6 spot lights with 7 point lights.

You can free up shadow map slots with Kill input. So, you can place triggers which will Kill lights that player can't see and spawn new lights via point_template (uncheck the second flag for point_template, this prevents some bugs). This helps a lot when you want to have many dynamic lights in different areas.

Important to note that due to some engine bugs you can't use many lights with shadows. Some tests show that 9th point light cause lights with shadows to be very glitchy. This can be done with spot lights as well. So don't be surprised if at some point you find something like this.

It looks like you can workaround it if you will switch ShadowMap LOD property values from higher to lower.

Tip.pngTip:You can use nr_debug_print_shadow_slots_info to get full info about shadowmap slots.

Lighting behavior with VIS and areaportals

Static type

Static type is the most stable, since its shadows are baked in and updates only with save loads or while lighting turning on. It shows all shadows even with closed areaportal.

Stationary type

Shadows for static props and brushes are baked, but not for physics props and other dynamic models. This means that shadows from dynamic models will disappear if they are hidden by a closed areaportal or if VIS is hiding such objects. Shadows for static props and brushes will not disappear.

In some cases, this can be noticeable if dynamic model creates a large shadow.

With mat_wireframe 1.

Dynamic type

Shadows for static props and world geometry are baked, but not for dynamic models and brushes. This means that shadows from dynamic models and brushes will disappear if they are hidden by a closed areaportal or if VIS is hiding such objects. Shadows for static props and world geometry will not disappear. Moving lighting will update shadows for static props and world geometry, even with closed areaportal.

Player spawn and areaportals

If player spawned in position where areaportal don't hide objects - shadows will be fine. Otherwise, static shadowmap will not see models with bmodels and will bake shadows only for world geometry and displacements. This problem is not relevant only for Dynamic light type. The problem disappears after save reload from proper position.

Lighting behavior with start/end fade dist for prop_static

This mechanic has some issues with static shadowmaps. It seems that there are limitations that don't allow to fix these issues, or this issues was not noticed at the development stage.

Static type

If player spawns in fade radius - shadows will never disappear (until save reload if out of radius).

If player spawns out of radius. - shadows will never appear (until save reload in radius).

The same for props with both Start and End fade dist.

Stationary type

The above mentioned issues are also available for this type.

Appears issue for prop_static with both Start and End fade dist.

If player spawns in Start fade radius - shadows will never disappear (until save reload if out of radius). The same happens if player spawns in End fade radius.

If player spawns out of radius - shadows will appear if you are in End fade radius and disappear if you are in Start fade radius (until save reload in radius). This happens because prop_static actually disappears completely, and creates a separate object as a fading model (this is also why decals disappear if player is out of Start fade radius).

Dynamic type

Dynamic type don't use static shadowmaps at all. This means that there is no problems with fading prop_static at all.

Icon-Important.pngImportant:All the issues is also available for func_lod.

Dedicated ConVars



Cvar/CommandParameters or default valueDescriptorEffect
nr_allow_hammer_nerfs0IntegerAllow new lights nerfs via Newlights_gbuffersettings entity.

0 - Disabled.

1 - Allowed.

2 - Enabled/Forced.

nr_allow_hammer_nerfs_4ways0IntegerAllow Enable4WaysFastPath property from Newlights_gbuffersettings entity.

0 - Disabled.

1 - Allowed.

2 - Enabled/Forced.

nr_shadow_max_passes_per_frame16FloatFrame per second in shadowmaps. The higher the value, the smoother and faster the shadows from objects can change. The recommended value is 24-28, not higher.
Icon-Important.pngImportant:The game can change its value independently, depending on the number of shadowmaps in frame. The game returns to the previous value if the number of shadowmaps decreases.
Icon-Bug.pngBug:"End Game" chapter crashes with 29 and higher values.
nr_shadow_quality4IntegerSets shadow quality and enable/disable shadows for all or certain objects. Controlled by Dynamic Shadow Quality option. Only 5 values are available here.

0 (Disabled) - Shadows and lightcookies are completely disabled.

1 (POTATO) - Shadows are available for world geometry and displacements, only for Static and Stationary light types. The shadows are very pixelated. The player's flashlight also gets very simple shadows with "stairs".

2 (Low) - Added brush entities and static props in shadowmaps, only for Static and Stationary light types. Enabled lightcookies.

3 (Medium) - All the shadows are also available for Dynamic light type.

4 (Hight) - Added dynamic models in shadowmaps for Stationary and Dynamic.

Note.pngNote:This cvar needs save reload to see changes.
mat_unlock_gfx_highend_unsupported0BoolWhen enabled this convar will unlock extreme graphics options. There will be a significant FPS drop when running game on ULTRA or INSANE configs. Game will consume upto 3 gigs of VRAM when some of the extreme graphics options have been enabled. These high end graphics config options are not officially supported. Don't enable this unless you have at least 3.5 GHZ quad core CPU with GTX 1080. These options are mainly for debugging and modders.
nr_lights_quality4IntegerSets lights quality, state (for specific entities), enable/disable effects. Controlled by Dynamic Light Quality option. Only 7 values are available here.

0 (POTATO) - Disabled muzzle flash light (regardless of muzzleflash_light), lighting from batteries (regardless of cl_battery_dlights), light sources from dynlightscript.txt, dynamic lights are also disabled for some other entities. Halflambertion is disabled. New specular is disabled. Bumpmaps are disabled. Lights are disabled completely in secondary cameras (monitors, water, etc). Overlaying on viewmodel looks pretty broken. Light is not smoothed out (most noticeable in the least bright areas).

1 (Low) - Allowed muzzle flash light, lighting from batteries, enabled light sources from dynlightscript.txt, other dynamic lights are also enabled for some other entities. Enabled bumpmaps for models.

2 (Medium) - Enabled bumpmaps for brushes. Lights in secondary cameras, but most effects is disabled.

3 (Hight) - Halflambertion with new specular is enabled. Fixed overlaying on viewmodel. Light is smoothed out.

4 (Very Hight) - Bumpmaps are also uncompressed, this makes lighting on surfaces more detailed.

5 (INSANE) - All the effects is enabled in secondary cameras.

6 (DevOnly) - This one for developers only. Includes uncompressed buffers and 32-bit depth. Don't use if you are general player or modder.

Note.pngNote:This cvar needs save reload to see changes.
nr_shadow_res0IntegerAffects the quality of shadows. Controlled by Dynamic Shadow Memory option. Only 4 values are available here.

0 (Hight) - Hight quality.

1 (Medium) - Medium quality.

2 (Low) - Low quality.

3 (POTATO) - Very low quality.

Note.pngNote:This cvar needs save reload to see changes.
nr_shadow_res_dkvk0IntegerIt doesn't seem to work.
r_4way_minimal_mode_override-1IntegerEnable/disable bumpmaps for Lightmapped_4WayBlend. Since one material of this shader provides 4 bumpmaps at once, disabling them will significantly affect performance.

-1/0 - Enabled. 1/2 - Disabled.

Note.pngNote:This cvar needs mat_reloadallmaterials to see changes.
np_gr_quality2IntegerEnable/disable godrays. Controlled by God Rays option or Enable God Rays button (if used VGUI).

0 - Disabled.

1/2 - Enabled. 1 supposed to enable godrays only for newLight_Dir, 2 for both point lights and newLight_Dir, but currently both values enable both types.
np_gr_quality_sample_count3IntegerAmount of samples for godrays. This affects the quality/detail of the rays. Controlled by God Rays option, although the original game never changes the value (always 3). Min value is 0, max is 4. The max value is not recommended, it has a huge impact on frame rate, at the same time it does not create a big difference in the game.
np_gr_quality_pass_count1IntegerPass count. Not very clear what exactly this affects, but it significantly reduces performance, and Fancy Rays also become pretty buggy. Controlled by God Rays option, although the original game never changes the value (always 1). Min value is 0, max is 4. Use the default value only.
nr_gbuffer_for_reflection_enabled1BoolEnable/disable gbuffer for water reflections.
nr_gbuffer_for_refraction_enabled1BoolEnable/disable gbuffer for refractions.
nr_gbuffer_for_secondary_cams_enabled1BoolEnable/disable gbuffer for secondary cameras (monitors, etc).
nr_gbuffer_for_secondary_cams_quality-1BoolNew lights quality in secondary cameras and water reflections. With -1 it will use quality from nr_lights_quality cvar. With 0-5 it will use itown quality settings (in the same way as nr_lights_quality).
nr_shadow_filter_quality2IntegerSets shadow filter quality. Min value is 0, max is 3.

0 (POTATO) - Shadow filter disabled.

1 (Medium) - Medium quality.

2 (Hight) - Hight quality.

3 (INSANE) - Best filter quality.

nr_shadow_rad_Low1.0FloatSets shadow filter quality scale for lights with 256 ShadowLOD value.
nr_shadow_rad_Med1.5FloatSets shadow filter quality scale for lights with 512 ShadowLOD value.
nr_shadow_rad_Hight1.5FloatSets shadow filter quality scale for lights with 1024 ShadowLOD value.
nr_shadow_biasoverwrite0BoolUsed by New Lights Editor. Allows/disallows to overwrite bias related values.
nr_shadow_nearz_overrite-1.0FloatUsed by New Lights Editor. Changes NearZ value for all new lights.
nr_shadow_rad_override0BoolUsed by New Lights Editor. Allows/disallows to overwrite shadow radius related values.
nr_shadow_fov_overrite-1FloatUsed by New Lights Editor. If the value of this convar is higher than -1 it will overrite FOV for shadowed lights.
nr_shadow_biasdepth0.0002FloatUsed by New Lights Editor. Changes Depth Bias value for all new lights.
nr_shadow_biasnormaloffset1FloatUsed by New Lights Editor. Changes Normal Bias value for all new lights.
nr_shadow_biasslope0.2FloatUsed by New Lights Editor. Changes Slope Depth Bias value for all new lights.
nr_shadow_active666IntegerSets max active shadowmaps. The value seems hardcoded.
nr_debug_print_shadow_slots_infoVoidPrints text to the console about shadowmap slots and their light sources.

It prints light type (point or spot) with their index, shadowmap enabled state (for each face), shadowmaps number, new light's targetname and position of it.

Below it also prints information about free shadowmap slots for each shadow resolution.

nr_debug_force_shadowmap_res-1BoolOnly for debugging. Forces all new lights to use specified shadowmap resolution. -1 means use value from the property.
nr_debug_force_dynamic_on_all_stationary_lights0BoolOnly for debugging. Forces all stationary new lights to be fully dynamic and update even baked shadows.
nr_debug_force_lightstyle0IntegerOnly for debugging. Forces all new lights to use specified appearance/light style. Possible values are 0-13. 13 for custom style from nr_debug_force_lightstyle_custom_string. 0 means use use value from the property.
nr_debug_force_lightstyle_custom_string1StringOnly for debugging. Forces all new lights to use custom appearance/light style. Works the same as with lightmapped lights.
nr_debug_shadow_render_internal_disable0BoolOnly for debugging. Forces all new lights to disable shadowmaps rendering.
nr_debug_shadow_print_indices_assignment0BoolOnly for debugging. Prints text to the console about all new light sources and shadowmaps after level/save loading.
nr_debug_lights_mesh0BoolOnly for debugging. Enable/disable new lights mesh.
nr_debug_lights_mesh_fullscreen0Bool[Todo]
nr_debug_light_mesh_volumesize_large0BoolOnly for debugging. Enable/disable new lights large mesh volume size mesh.
nr_debug_cull_deferred_lights1Bool[Todo]
nr_debug_cull_deferred_code_lights_via_bsp1Bool[Todo]
nr_dev_shoot_lights_enabled0BoolEnable/disable point lights on each shoot. Only for player and only for bullet weapons. Shotgun can create several at once. Disappears after save reload.
Warning.pngWarning:Kills performance.
nr_dev_lights_quality_override0BoolEnable/disable light quality override. Required for some cvars with nr_dev_ prefix.
nr_dev_gb_debug_type4Integer0 - DepthOnly. 1 - GBuffer_Fast 2 - GBuffer_Fast2. 3 - GBuffer_Fast3. 4 - Gbuffer_Slow.
nr_dev_gb_quality2IntegerChanges gbuffer quality.
nr_dev_lb_quality1Integer0 is broken. 1 - default mode. 2 - debug materials with new specular.
nr_disable_setting_auto_reload0Bool[Todo]
nr_fps_spam0BoolFor devolopers only. Spamming in the console performance values. Numbers aren't accurate.
nr_light_spot_bbox_optimizie2IntengerSets BBOX type for spot lights. Min value is 0, max is 3. There are note that 1 is broken. 3 makes BBOX size very small, so spot light sources will disappear even if they are in the player's field of vision.
nr_light_spot_mesh_volumesize_large0IntengerThis makes BBOX larger than it needs to be.
nr_lights_infoVoidUsed by the game when you launch it. Prints in the console info about hardware support for texture formats, allocated formats and quality settings.
nr_lights_vol_check_threshold10Float[Todo]
nr_light_settings_transition_exp2IntegerAffects the quality of the transition for changes from newLights_settings. 0 - no transition. 1 - transition. 2 - smooth transition.
nr_lights_procedural_disable_all_lights0BoolDisable all proceduraly created new lights (npc_zombie_hev, item_battery, weapons, etc).
nr_lights_procedural_enable_lights_priority_check1BoolIf enabled - all the code based procedural lights will go through priority based check before adding to render queue.
r_nr_deffered_debug_normals0BoolEnable/disable normals debug.
r_nr_deffered_force_diffuse_only0BoolForces new lights to use diffuse texture only.
r_nr_deffered_lights_hlslclip_range_on1BoolEnable/disable actual new light range in normals debug.
r_nr_deffered_lights_hlslclip_dir_on0Bool[Todo]
r_nr_deferred_AA_fix_multiplier1BoolFixes anti aliasing issues.
Example


sv_ignite_light_mode2IntegerSets fire light source availability for ignited objects. Min value is 0, max is 3.

0 - Fully disabled.

1 - Available for marines, doesn't work.

2 - Available for all NPCs.

3 - Available for everything, including physics objects and player.

Note.pngNote:Work in progress! It's not full list.

Bugs/Limitations

See /Bugs and limitations

See also