newLight_Point
newLight_Point
is a point entity available in Black Mesa. It creates an invisible deferred light source that shines in all directions, includes godrays and lightcookies.
Represented by class CNewLightPoint
.
Keyvalues
- Name (targetname) <string>
- The name that other entities refer to this entity by, via Inputs/Outputs or other keyvalues (e.g.
parentname
ortarget
).
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: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- 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: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:This is one of the parameters that affects performance in the game. Smaller values allow you to process less geometry and save performance.
- Note:Shadows from objects that are at a great distance look noticeably worse than shadows from objects that are near to the light source.
- Important:Range is limited, the limit depends on intensity value. Do not use values bigger than the intensity value allows.
Examples Expand
- 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) Expand
- Tip: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 Expand
- SpecularMultiplier (SpecMultiplier) <float>
- Specular multiplier. Sets intensity of new specular shader from this light source. It's RGB * Intensity * SpecularMultiplier. 0 means disabled.
Examples Expand
falloffConstant (falloffConstant) <integer>!FGD- Deprecated.
Constant value (can work only if old falloff is enabled). falloffLinear (falloffLinear) <integer>!FGD- Deprecated.
Linear value (can work only if old falloff is enabled). falloffQuadratic (falloffQuadratic) <integer>!FGD- 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.
- Important:Brush entities and bmodels are also included in static shadowmaps and they never update (including func_physbox).
- Note: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 Expand
- HasShadow (HasShadow) <choices>
- Sets shadows state for the light, enabled or disabled. Remember that the default choices is No.
- 0: No
- 1: Yes
Examples Expand
- ShadowMapLOD (ShadowLod) <choices>
- Resolution of shadowmap used by this light. This affects the quality of the shadows.
- 0: 256
- 1: 512
- 2: 1024
Examples Expand
- Important: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
andnr_shadow_rad_Low
.
Examples Expand
- Tip: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 Expand
- SlopeDepthBias (SlopeDepthBias) <float>
- Slope Depth Bias used for surfaces having aliasing due to steep angles with light.
Examples Expand
- 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 Expand
- Important: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.
- Bug:Numbers lower than 0.8 can cause huge graphics issues. Example.
- Tip: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 Expand
- Tip:Follow these steps to create your own lightcookie texture for point light.
- Warning: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.
- Bug:Even if godrays is turned off, the game will still think that the godrays is used if choice is
Godrays
orBoth Light and GodRays
.
- EnableGodRays (EnableGodRays) <choices>
- Sets godrays state on spawn, enabled or disabled.
- 0: Disabled
- 1: Enabled
- 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 Expand
- Weight (Weight) <float>
- Weight controls the intensity of volumetric shadow. Blocking of rays by geometry. Good values are 0.1-10.
Examples Expand
- Decay (Decay) <float>
- Decay NOT being used.
- 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 Expand
- 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 Expand
- ColorInner (ColorInner) <color255 + int>
- The RGB color and brightness of the inner circle. Colors and brightness must be between 0 and 255.
Examples Expand
- ColorRays (ColorRays) <color255 + int>
- The RGB color and brightness of the rays. Colors and brightness must be between 0 and 255.
Examples Expand
- ColorOuter (ColorOuter) <color255 + int>
- The RGB color and brightness of the outer circle. Colors and brightness must be between 0 and 255.
Examples Expand
- 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 Expand
- DiskInnerSizePercent (DiskInnerSizePercent) <float>
- Disk inner circle radius is DiskRadius * DiskInnerSizePercent. 0 means don't render.
Examples Expand
- GodRaysType (GodRaysType) <choices>
- Sets godrays type, normal or fancy.
- 0: Normal
- 1: Fancy
Examples Expand
- RenderInWorldSpace (m_bEnableWorldSpace) <choices>
- Disables disks if this enabled.
- 0: Disabled
- 1: Enabled
- Ell_FR_ConstA (Ell_FR_ConstA) <float>
- This is fancy godrays disk size.
Examples Expand
- Ell_FR_ConstB (Ell_FR_ConstB) <float>
- This is fancy godrays disk distortion.
Examples Expand
- EEll_SR_ConstA (EEll_SR_ConstA) <float>
- This is fancy godrays disk hole size.
Examples Expand
- EEll_SR_ConstB (EEll_SR_ConstB) <float>
- This is fancy godrays disk hole distortion.
Examples Expand
- Ell_RRF_ConstA (Ell_RRF_ConstA) <float>
- This is fancy godrays inner size.
Examples Expand
- Ell_RRF_ConstB (Ell_RRF_ConstB) <float>
- This is fancy godrays inner distortion.
Examples Expand
- 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
- UseToneMapDisk (m_bUseToneMapDisk) <choices>
- 0: Enabled
- 1: Disabled
- 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
- UseToneMapDisk (m_bUseToneMapDisk) <choices>
- 0: Enabled
- 1: Disabled
- 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.
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. 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.
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.
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.
Player spawned in position where areaportal don't hide objects. The columns are func_detail, the pipes are prop_static.
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.
Dedicated ConVars
Cvar/Command | Parameters or default value | Descriptor | Effect |
---|---|---|---|
nr_allow_hammer_nerfs | 0 | Integer | Allow new lights nerfs via Newlights_gbuffersettings entity.
0 - Disabled. 1 - Allowed. 2 - Enabled/Forced. |
nr_allow_hammer_nerfs_4ways | 0 | Integer | Allow Enable4WaysFastPath property from Newlights_gbuffersettings entity.
0 - Disabled. 1 - Allowed. 2 - Enabled/Forced. |
nr_shadow_max_passes_per_frame | 16 | Float | Frame 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.
Important: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.
Bug:"End Game" chapter crashes with 29 and higher values. |
nr_shadow_quality | 4 | Integer | Sets 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:This cvar needs save reload to see changes. |
mat_unlock_gfx_highend_unsupported | 0 | Bool | When 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_quality | 4 | Integer | Sets 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 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:This cvar needs save reload to see changes. |
nr_shadow_res | 0 | Integer | Affects 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:This cvar needs save reload to see changes. |
nr_shadow_res_dkvk | 0 | Integer | It doesn't seem to work. |
r_4way_minimal_mode_override | -1 | Integer | Enable/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:This cvar needs mat_reloadallmaterials to see changes. |
np_gr_quality | 2 | Integer | Enable/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_count | 3 | Integer | Amount 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_count | 1 | Integer | Pass 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_enabled | 1 | Bool | Enable/disable gbuffer for water reflections. |
nr_gbuffer_for_refraction_enabled | 1 | Bool | Enable/disable gbuffer for refractions. |
nr_gbuffer_for_secondary_cams_enabled | 1 | Bool | Enable/disable gbuffer for secondary cameras (monitors, etc). |
nr_gbuffer_for_secondary_cams_quality | -1 | Bool | New 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_quality | 2 | Integer | Sets 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_Low | 1.0 | Float | Sets shadow filter quality scale for lights with 256 ShadowLOD value. |
nr_shadow_rad_Med | 1.5 | Float | Sets shadow filter quality scale for lights with 512 ShadowLOD value. |
nr_shadow_rad_Hight | 1.5 | Float | Sets shadow filter quality scale for lights with 1024 ShadowLOD value. |
nr_shadow_biasoverwrite | 0 | Bool | Used by New Lights Editor. Allows/disallows to overwrite bias related values. |
nr_shadow_nearz_overrite | -1.0 | Float | Used by New Lights Editor. Changes NearZ value for all new lights. |
nr_shadow_rad_override | 0 | Bool | Used by New Lights Editor. Allows/disallows to overwrite shadow radius related values. |
nr_shadow_fov_overrite | -1 | Float | Used by New Lights Editor. If the value of this convar is higher than -1 it will overrite FOV for shadowed lights. |
nr_shadow_biasdepth | 0.0002 | Float | Used by New Lights Editor. Changes Depth Bias value for all new lights. |
nr_shadow_biasnormaloffset | 1 | Float | Used by New Lights Editor. Changes Normal Bias value for all new lights. |
nr_shadow_biasslope | 0.2 | Float | Used by New Lights Editor. Changes Slope Depth Bias value for all new lights. |
nr_shadow_active | 666 | Integer | Sets max active shadowmaps. The value seems hardcoded. |
nr_debug_print_shadow_slots_info |
| Void | Prints 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 | -1 | Bool | Only 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_lights | 0 | Bool | Only for debugging. Forces all stationary new lights to be fully dynamic and update even baked shadows. |
nr_debug_force_lightstyle | 0 | Integer | Only 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_string | 1 | String | Only for debugging. Forces all new lights to use custom appearance/light style. Works the same as with lightmapped lights. |
nr_debug_shadow_render_internal_disable | 0 | Bool | Only for debugging. Forces all new lights to disable shadowmaps rendering. |
nr_debug_shadow_print_indices_assignment | 0 | Bool | Only for debugging. Prints text to the console about all new light sources and shadowmaps after level/save loading. |
nr_debug_lights_mesh | 0 | Bool | Only for debugging. Enable/disable new lights mesh. |
nr_debug_lights_mesh_fullscreen | 0 | Bool | [Todo] |
nr_debug_light_mesh_volumesize_large | 0 | Bool | Only for debugging. Enable/disable new lights large mesh volume size mesh. |
nr_debug_cull_deferred_lights | 1 | Bool | [Todo] |
nr_debug_cull_deferred_code_lights_via_bsp | 1 | Bool | [Todo] |
nr_dev_shoot_lights_enabled | 0 | Bool | Enable/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:Kills performance. |
nr_dev_lights_quality_override | 0 | Bool | Enable/disable light quality override. Required for some cvars with nr_dev_ prefix. |
nr_dev_gb_debug_type | 4 | Integer | 0 - DepthOnly. 1 - GBuffer_Fast 2 - GBuffer_Fast2. 3 - GBuffer_Fast3. 4 - Gbuffer_Slow. |
nr_dev_gb_quality | 2 | Integer | Changes gbuffer quality. |
nr_dev_lb_quality | 1 | Integer | 0 is broken. 1 - default mode. 2 - debug materials with new specular. |
nr_disable_setting_auto_reload | 0 | Bool | [Todo] |
nr_fps_spam | 0 | Bool | For devolopers only. Spamming in the console performance values. Numbers aren't accurate. |
nr_light_spot_bbox_optimizie | 2 | Intenger | Sets 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_large | 0 | Intenger | This makes BBOX larger than it needs to be. |
nr_lights_info |
| Void | Used 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_threshold | 10 | Float | [Todo] |
nr_light_settings_transition_exp | 2 | Integer | Affects the quality of the transition for changes from newLights_settings. 0 - no transition. 1 - transition. 2 - smooth transition. |
nr_lights_procedural_disable_all_lights | 0 | Bool | Disable all proceduraly created new lights (npc_zombie_hev, item_battery, weapons, etc). |
nr_lights_procedural_enable_lights_priority_check | 1 | Bool | If enabled - all the code based procedural lights will go through priority based check before adding to render queue. |
r_nr_deffered_debug_normals | 0 | Bool | Enable/disable normals debug. |
r_nr_deffered_force_diffuse_only | 0 | Bool | Forces new lights to use diffuse texture only. |
r_nr_deffered_lights_hlslclip_range_on | 1 | Bool | Enable/disable actual new light range in normals debug. |
r_nr_deffered_lights_hlslclip_dir_on | 0 | Bool | [Todo] |
r_nr_deferred_AA_fix_multiplier | 1 | Bool | Fixes anti aliasing issues.
|
sv_ignite_light_mode | 2 | Integer | Sets 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. |
Bugs/Limitations
See also
- newLight_Dir - directional sun light with godrays only.
- NewLights_Spawner - spawner of deferred point lights.
- env_lensflare - cinematic dynamic lens flare.
- newLight_Spot - spot deferred light entity.
- newLights_settings - entity that changes deferred light settings.
- godrays_settings - entity that changes godrays settings.
- env_cascade_light - deferred cascade sun light entity.
- New Lights Editor - in game deferred lights editor.
- Effect flags - effects flags, some of them are dynamic light effects.
- BlackMesa XenEngine: Part 4 – Lighting & Shadows - page from Chetan (lead programmer for Black Mesa) about new lights.
- BlackMesa XenEngine: Part2 – How a Frame is Rendered - page from Chetan (lead programmer for Black Mesa) about how a frame is rendered.
- BlackMesa XenEngine: Part1 – Heavily Modified Source Engine page from Chetan (lead programmer for Black Mesa) about Xengine.