newLight_Point

From Valve Developer Community
Jump to: navigation, search

Contents

NewLight Point.png

newLight_Point is a point entity available in Black Mesa Black Mesa.

English (en)
Edit

It is one of the many new lighting entities available. Black Mesa incorporates a new lighting system which utilizes Deferred lighting to create dynamic lighting system with dynamic shadows, which allows to complement and quite enliven some scenes, it is also nice effect for moving objects, such as trains. It is also include fine tuning 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.

Black Mesa Represented by class CNewLightPoint.

Black Mesa Level Creation


Keyvalues

Name (targetname) <targetname>
The name that other entities refer to this entity by.
Parent (parentname) <targetname>
The name of this entity's parent in the movement hierarchy. Entities with parents move with their parent.
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.
Icon-Important.pngImportant:Have huge differences if you use texture for your newLight_Point.
Enabled (Enabled) <choices>
Enable/Disable this Entity.

Determines if the light is off at level start.

  • 0: Enabled
  • 1: Disabled
Appearance (FlareStyle) <choices>
Appearance presets.
Light Appearances
Literal Value Description Sequence Preview
0 Normal m Sequence 0.gif
10 Fluorescent flicker mmamammmmammamamaaamammma Sequence 10.gif
2 Slow, strong pulse abcdefghijklmnopqrstuvwxyzyxwvutsrqponmlkjihgfedcba Sequence 2.gif
11 Slow pulse, noblack abcdefghijklmnopqrrqponmlkjihgfedcba Sequence 11.gif
5 Gentle pulse jklmnopqrstuvwxyzyxwvutsrqponmlkj Sequence 5.gif
1 Flicker A mmnmmommommnonmmonqnmmo Sequence 1.gif
6 Flicker B nmonqnmomnmomomno Sequence 6.gif
3 Candle A mmmmmaaaaammmmmaaaaaabcdefgabcdefg Sequence 3.gif
7 Candle B mmmaaaabcdefgmmmmaaaammmaamm Sequence 7.gif
8 Candle C mmmaaammmaaammmabcdefaaaammmmabcdefmmmaaaa Sequence 8.gif
4 Fast strobe mamamamamama Sequence 4.gif
9 Slow strobe aaaaaaaazzzzzzzz Sequence 9.gif
12 !FGD Underwater light mutation mmnnmmnnnmmnn Sequence 12.gif
Tip.pngTip:Static lightmapped lights reduces performance with custom appearance (especially near displacements). If this cause problems, you can use replace your static lights with new lights, if used correctly - in most cases this will significantly preserve performance.
Light Color (LightColor) <color255>
This is the color of the sunlight.

Determines color of light.

Light Ambient Color (LightColorAmbient) <color255>
This is the ambient color of the sunlight.

Determines color of shadows that light source creates.

Examples


Light Intensity (Intensity) <float>
RGB * Intensity.

Brightness of the light.

Note.pngNote:With 0 will not draw, process and specular shader be disabled.
SpecularMultiplier (SpecMultiplier) <float>
0 to 1 RGB * Intensity * SpecularMultiplier.

Brightness of the specular shader from this light source.

Examples


Range (Range) <float>
Range.

How far the light source illuminates. Measured in Hammer Units.

Icon-Important.pngImportant:It greatly affects optimization, less is better.
Examples


Light Type (LightType) <choices>
Determines the light type.
  • 0: Static - shadows are cast only by static objects (prop_static, geometry, etc.). Lighting does not update if it has parent (use if part scene has no large moving parts, or shadow accuracy is not important).
  • 1: Stationary - shadows are cast by static and dynamic objects, lighting does not update if it has a parent.
    Icon-Important.pngImportant:Shadows for dynamic props update, but baked for geometry. That means that shadows from func_physbox and other dynamic geometry will never update, and shadows from other geometry on them too.
  • 2: Dynamic - lighting is not baked at all. Shadows are cast by static and dynamic objects, lighting updates if it does have a parent. This light is quite expensive, and should only be used for moving light sources, or if your scene have moving geometry.
Examples


HasShadow (HasShadow) <choices>
Do you want this light to have shadows?

Determines whether the light source will cast shadows. Remember that default choices is No.

  • 0: No
  • 1: Yes
Examples


ShadowMapLOD (ShadowLod) <choices>
Resolution of ShadowMap used by this light.

Determines quality of shadows. 1024 is very expensive, use it only in places where it's really needed, in most cases 512 is good alternative. 256 produces the blurriest shadows, but it is also the cheapest.

  • 0: 256
  • 1: 512
  • 2: 1024
Examples


Icon-Important.pngImportant:In one level you can have only 8 light spot/points with shadows which use one and same shadow lod, even if you don't use all them simultaneously. If this limit is not respected - 9-th and next lights will not cast shadows. However - you can rise up this limit with point_template, just kill past lights with kill input and spawn new when you need it. Also use different shadow lods.
ShadowFaceX (ShadowFaceX) <choices>
Shadow Enabled for this Face ?

Determines whether the given side lighting will display shadows.

  • 0: Enabled
  • 1: Disabled
ShadowFaceX_Minus (ShadowFaceX_Minus) <choices>
Shadow Enabled for this Face ?

Determines whether the given side lighting will display shadows.

  • 0: Enabled
  • 1: Disabled
ShadowFaceY (ShadowFaceY) <choices>
Shadow Enabled for this Face ?

Determines whether the given side lighting will display shadows.

  • 0: Enabled
  • 1: Disabled
ShadowFaceY_Minus (ShadowFaceY_Minus) <choices>
Shadow Enabled for this Face ?

Determines whether the given side lighting will display shadows.

  • 0: Enabled
  • 1: Disabled
ShadowFaceZ (ShadowFaceZ) <choices>
Shadow Enabled for this Face ?

Determines whether the given side lighting will display shadows.

  • 0: Enabled
  • 1: Disabled
ShadowFaceZ_Minus (ShadowFaceZ_Minus) <choices>
Shadow Enabled for this Face ?

Determines whether the given side lighting will display shadows.

  • 0: Enabled
  • 1: Disabled
NearZ (NearZ) <float>
NearZ used by shadowmap camera for this light.

Determines distance at which light source will cast shadows.

DepthBias (DepthBias) <float>
DepthBias - Offset added to depth values in shadowmaps.
Examples


SlopeDepthBias (SlopeDepthBias) <float>
Slope Depth Bias - For surfaces having aliasing due to steep angles with light.
Examples


NormalBias (NormalBias) <float>
While rendering objects into shadow maps, each vertex will be moved along -ve Normal direction, giving it an appearance of shrinking while rendering to shadow maps. This property determines the amount of Units to be moved. Helps with shadow aliasing.
Examples


Icon-Bug.pngBug:Numbers lower than 0.8 can cause huge graphics problems.
The bug example


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.

Determines shadow blur. Low numbers are expensive to render.

Examples


Enable Texture Light (bTexLight) <choices>
Enable Texture Ligh.

Determines whether the given light source uses .vtf texture from game files (just like env_projectedtexture). With NewLight_Point, this technically works like a cube. A great example is the batteries that use lights/lightcookie_battery.vtf.

  • 0: Disabled
  • 1: Enabled
Examples


Note.pngNote:One of the most expensive features, use wisely. If shadows enabled - it can work with lags even with powerful PC.
Texture name for TexLight (texName) <string>
Texture name for Texture shadows.

Determines which texture will use light source. It use .vtf files, not .vmt.

.Enable Prop Only Mode (bNegLight) <choices>
Enable Prop Only Mode.
Blank image.pngTodo: Document what it does.
  • 0: Disabled
  • 1: Enabled
LightnGodRayMode (LightnGodRayMode) <choices>
0:Light 1:Godrays 2:Both Light and GodRays.
  • 0: Light
  • 1: Godrays
  • 2: Both Light and GodRays
Examples


EnableGodRays (EnableGodRays) <choices>
Enable GodRays.

Determines whether godrays are enabled or not at map start.

  • 0: Disabled
  • 1: Enabled
Warning.pngWarning:You can have only 40 point lights with godrays enabled simultaneously, otherwise game will crash with this error message.


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 to start from: 0.5 to 1.5.
Examples


Weight (Weight) <float>
Weight Controls the intensity of volumetric shadow. Blocking of rays by geometry. Good values to start from: 0.1 - 10.0.
Examples


Decay (Decay) <float>
Decay NOT being used.
Blank image.pngTodo: 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.0f 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


DiskRadius (DiskRadius) <float>
Radius of Disk/circle of sun in texturespace. 1.0 will be full screen 0.5 is half screen etc.
Examples


Note.pngNote:With 0 - will not render.
ColorInner (ColorInner) <color255>
This is the color of the inner circle.
Examples


Note.pngNote:Unlike lighting - brightness of inner depends on fourth number which can be written here.
ColorRays (ColorRays) <color255>
This is the color of the rays.
Examples


Note.pngNote:Unlike lighting - brightness of rays depends on fourth number which can be written here.
GodRaysType (GodRaysType) <choices>
GodRaysType.
  • 0: Normal
  • 1: Fancy
Examples


DiskInnerSizePercent (DiskInnerSizePercent) <float>
Used only in Fancy Gaphics Mode. Disk inner circle radius = DiskRadius * DiskInnerSizePercent.
Examples


Note.pngNote:With 0 - will not render.
ColorOuter (ColorOuter) <color255>
Used only in Fancy Mode. This is the color of the outer circle.
Examples


Note.pngNote:Unlike lighting - brightness of outer depends on fourth number which can be written here.
Ell_FR_ConstA (Ell_FR_ConstA) <float>
This is fancy Godrays disk size.
Note.pngNote:For fancy Godrays only.
Examples


Ell_FR_ConstB (Ell_FR_ConstB) <float>
This is fancy Godrays disk distortion.
Note.pngNote:For fancy Godrays only.
Examples


EEll_SR_ConstA (EEll_SR_ConstA) <float>
This is fancy Godrays disk hole size.
Note.pngNote:For fancy Godrays only.
Examples


EEll_SR_ConstB (EEll_SR_ConstB) <float>
This is fancy Godrays disk hole distortion.
Note.pngNote:For fancy Godrays only.
Examples


Ell_RRF_ConstA (Ell_RRF_ConstA) <float>
This is fancy Godrays inner size.
Note.pngNote:For fancy Godrays only.
Examples


Ell_RRF_ConstB (Ell_RRF_ConstB) <float>
This is fancy Godrays inner distortion.
Note.pngNote:For fancy Godrays only.
Examples


RotSpeed (RotSpeed) <float>

Determines rotating speed of fancy rays, 0 - don't rotate, negative number - will rotate to left.

Note.pngNote:For fancy Godrays only.
Examples


RotPatternFreq (RotPatternFreq) <float>

Determines count of fancy rays in frame, with negative number will deny RotSpeed +/- effect.

Note.pngNote:For fancy Godrays only.
Examples


RenderInWorldSpace (m_bEnableWorldSpace) <choices>
Disables disks if this enabled.
m_fAlphaDiskInner (m_fAlphaDiskInner) <float>
m_fAlphaDiskOuter (m_fAlphaDiskOuter) <float>
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 Brushes in shadow passes for this light?
  • 0: YES
  • 1: NO
ShadowPass_StaticProp (m_bSRO_StaticProp) <choices>
Do we want to Render StaticProps in shadow passes for this light?
  • 0: YES
  • 1: NO
ShadowPass_DynProp (m_bSRO_DynProp) <choices>
Do we want to Render Dynamic Props in shadow passes for this light?
  • 0: YES
  • 1: NO
ShadowPass_AlphaTest (m_bSRO__Trans) <choices>
Do we want to Render AlphaTested Objects in shadow passes for this light?
  • 0: YES
  • 1: NO
bUseOldFallOff (bUseOldFallOff) <choices> !FGD Obsolete
Deprecated. Enable old falloff similar to light/light_spot.
  • 0: No
  • 1: Yes
falloffConstant (falloffConstant) <integer> !FGD Obsolete
Deprecated. Constant (work only if bUseOldFallOff enabled).
falloffLinear (falloffLinear) <integer> !FGD Obsolete
Deprecated. Linear (work only if bUseOldFallOff enabled).
falloffQuadratic (falloffQuadratic) <integer> !FGD Obsolete
Deprecated. Quadratic (work only if bUseOldFallOff enabled).

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.

Base:
AddContext <string>
Adds to the entity's list of response contexts. See Context.
AddOutput <string>
Assigns a new keyvalue/output on this entity. For keyvalues, some rely on extra necessary code to be ran and won't work if its simply just changed through this input. There is a strict format that must be followed:
// Format of changing KeyValues: "AddOutput [key] [value]"
//// Raw text:
"OnUser1" "!self,AddOutput,targetname new_name"

// Format of adding an Output: "AddOutput {targetname}:{inputname}:{parameter}:{delay}:{max times to fire, -1 means infinite}"
//// Raw text:
"OnUser1" "!self,AddOutput,OnUser1:SetParent:!activator:0.0:-1"
// Arguments can be left blank, but the empty blank should still be contained.
//// Raw text:
"OnUser1" "!self,AddOutput,OnUser1:ClearParent::0.0:-1"
ClearContext
Removes all contexts from this entity's list.
ClearParent
Removes this entity from the the movement hierarchy, leaving it free to move independently.
FireUser1 to FireUser4
Fires the respectiveOnUseroutputs; see User Inputs and Outputs.
Kill
Removes this entity and any entities parented to it from the world.
KillHierarchy
Functions the same as Kill, although this entity and any entities parented to it are killed on the same frame, being marginally faster thanKillinput.
RemoveContext <string>
Remove a context from this entity's list. The name should match the key of an existing context.
SetParent <string>
Move with this entity. See Entity Hierarchy (parenting).
SetParentAttachment <string>
Change this entity to attach to a specific attachment point on its parent. The entity will teleport so that the position of its root bone matches that of the attachment. Entities must be parented before being sent this input.
SetParentAttachmentMaintainOffset <string>
As above, but without teleporting. The entity retains its position relative to the attachment at the time of the input being received.
Use  !FGD
Same as a player invoking +use; no effect in most cases.
DispatchResponse <string> !FGD
Dispatches a response to the entity. See Response and Concept.
DispatchEffect <string> (removed since Left 4 Dead) !FGD
Dispatches a special effect from the entity's origin; See also List of Client Effects. Replaced by the particle system since Left 4 Dead.
RunScriptFile <script> (in all games since Left 4 Dead 2) (also in Team Fortress 2)
Execute a VScript file from disk, without file extension. The script contents are merged with the script scope of the receiving entity.
RunScriptCode <string> (in all games since Left 4 Dead 2) (also in Team Fortress 2)
Execute a string of VScript source code in the scope of the entity receiving the input. String quotation may be needed when fired via console.
Icon-Bug.pngBug:In Hammer, using string arguments will corrupt the VMF file's structure, making the file unviewable for the next Hammer session.
Note.pngFix:Remove the string argument manually with a text editor.
Note.pngNote:Team Fortress 2 Backtick characters ` are replaced with quotation marks at runtime, allowing quotation marks to be used when normally not possible.
CallScriptFunction <string> (in all games since Left 4 Dead 2) (also in Team Fortress 2) !FGD
Calls a VScript function defined in the scope of the receiving entity.
TerminateScriptScope  (only in Team Fortress 2) !FGD
Destroys the script scope of the receving entity.
SetLocalOrigin <coordinates> (in all games since Alien Swarm) !FGD
Send this entity to a spot in the map. If the entity is parented to something, it will be offset from the parent by this amount.
SetLocalAngles <angles> (in all games since Alien Swarm) !FGD
Set this entity's angles.

Outputs

Base:

OnUser1 to OnUser4
These outputs each fire in response to the firing of the like-numbered FireUser1 to FireUser4 Input; see User Inputs and Outputs.

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.

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.

Bugs/Limitations

Blank image.pngTodo: make a TOC specifically for this box to make navigation easier

Deferred lighting incorrect work with $translucent objects

Deferred lighting all time rendering through walls with material shader parameter $translucent. This happen because of game can't tell the depth of scene because of the transparency, what you are see in the picture is just the lighting layer applied to the color of transparency texture.


This problem also applies to brushes which not have $translucent, but which parented to brushes that have this parameter. Similar will happen if brush with $translucent is part of your brush entity.

Same will happen if you use overlays/decals on brushes with $translucent.

This issues does not happen if replace LightmappedGeneric to ShatteredGlass or UnlitGeneric, so, you can use one of them for glass or transparency surfaces when it's needed.

In some cases use $alphatest if it'll give similar to $translucent resualts, with this your surface also will cast dynamic shadows.


Deferred lighting incorrect work with $alphatestreference and $allowalphatocoverage

$alphatestreference is a material shader parameter that specifies the threshold alpha channel value at which the surface should be transparent instead of opaque, default "0.5". $allowalphatocoverage creates translucent steps based on alpha values. Both have one and same problems with deferred lighting. For examples used this texture with this alpha channel.

Here deferred lighting placed behind wall with the texture, lighting is red and shadows is blue. We can see the circle part of that have alpha channel part which is invisible due to $alphatest, with enabled deferred lighting we see that the invisible part doesn't show through itself deferred lighting with shadows.

From the opposite side the invisible part illuminates everything in itself equally, without taking into account decay of light, it's also don't show shadows and other dynamic lights in itself.

If use very low numbers you will see resualts like in the pictures.


You can't escape this problem, only minimize effect with $alphatestreference 0.1 or if paint alpha correct channel.


Godrays incorrect work with $alphatestreference and $allowalphatocoverage

Godrays process invisable parts, you can't escape this problem, only minimize effect with $alphatestreference 0.1 or if paint alpha correct channel.

You can't escape this problem, only minimize effect with $alphatestreference 0.1 or if paint alpha correct channel.


Godrays incorrect work with $translucent

Godrays (also disk) all time fully rendering through textures with material shader parameter $translucent, because of this you will see unexpected results like in the picture. Disable Godrays when you need or use $alphatest if it'll give resualts similar to $translucent. You also can try use some other tricks to escape this problem.


Godrays draw through water

Deferred lighting don't fully draw through water, unlike Godrays.


Godrays leaks

Due to way Godrays works, in some cases they can be drawn through walls, appearing where they should not be visible at all. Disable rays with triggers or minimize effect.


Godrays can't be displayed in monitors and reflections

Godrays is post process effect that depends on player screen. That means that they can't water reflections or monitors can't show it.

Note.pngNote:Was added with Necro Patch. However, this is disabled in the code by default, because it didn't work correctly. There is no way to enable this feature.



Weird clipping

Often meeting strange clipping/flickering, strange bug that was in early stages of the game (this can be seen even in videos before new lights release in public), this does not depend on OS or drivers. Somehow related to Range value, since changing its value halfway fixes this bug, because it move away the bugged area.


Brush polygons may clip deferred lighting

Rare phenomenon, sometimes brush polygons clip deferred lighting, the reason that cause this is unknown. Can be easy fixed if divide invalid brush into two parts.



Shadows incorrect work with newLight_Point cube edges

Because newLight_Point arу cube technically - we get shadows incorrect behavior with edges of this cube, this cause their serious distortion a.k.a. clipping. You only can minimize this if set shadow quality to maximum.


Deferred lighting shine through nodraw texture

Not a bug, but a pattern. Unfortunately, this cannot be controlled in any way, you should keep in mind this before paint nodraw to escape situations like in the gifs. If your dynamic light source illuminates face that player never see - use cheap textures with low resolution and which don't use material shader parameters, a good solution would be tools/toolsblack or any Shader-ball.png UnlitGeneric texture.


Shadows don't appear immediately after reload

After game save and load shadows don't appear for short time, maybe it has something to do with caching. This appearance duration may vary depending on power of user PC and how much of lights with enabled shadows are turned on at level, but in any case user will get this issue even with most powerful PC. Enable in worldspawn settings Level Fade In to hide this problem, this setting also will hide some other problems with loads that avaible inBlack Mesa Black Mesa.


Shadows don't appear immediately with a lot of lights with shadows

If your level use a lot of lights with shadows - shadows from enabling lights will not appear immediately, this happens if light source was disabled and if player's camera did not see this light source enabled initially.This happen because shadows use passes per frame for memory, if level use a lot of new lights - game change integer value of cvar nr_shadow_max_passes_per_frame to lower numbers. Can be fixed in some cases if change cvar nr_shadow_max_passes_per_frame value with point_servercommand to 25 or if enable light source at level start and keep it enabled before drawing of level allows player's camera to see this light source, disable this light source and than enable when we need this.


Dynamic lights with shadows may buggy

In some cases your attached lights may have buggy shadows if parent is moving, work smart when use this feature. If your moving light is decoration - highly recommended to leave shadows disabled to save limits and performance.


Viewmodel illuminated by deferred render draw in refract shader

Refract shader and Water shader take and refract player screen space without taking into account viewmodel. However - viewmodel illuminated by deferred render draw in refract shader because of game can't tell the depth of viewmodel because of the transparency, what you are see in the pictures is just the lighting layer applied to the color of transparency texture.


Objects with refract shader self refract if illuminated by deferred render

Objects with refract shader in their own refraction disable self, to escape some problems. However - objects with refract shader illuminated by deferred render refract self because of game can't tell the depth of objects because of the transparency, what you are see in the pictures is just the lighting layer applied to the color of transparency texture.


Similar issue happen if model with refraction behind wall with refraction.


Viewmodel doesn't support self-shadowing with deferred ligths

Unlike cascade shadows - viewmodel doesn't support self-shadowing with deferred ligths. Not a bug, but this is not what you expect from real life, it also isn't so with env_projectedtexture.


Godrays and deferred lighting incorrect work with cloak

Cloak is a material shader parameter for VertexLitGeneric shader, female assassins use it to make them transparent when they need it. Godrays all time fully render through them, same for deferred lighting.


Godrays doesn't refract by refract shader and fully draw through

Unlike deferred lighting Godrays doesn't refract by refract shader, also fully draw through.


Strange "holes" when player's camera is at a great distance

In some cases may will appear strange "holes" when player's camera is at a great distance. Strange bug that occurs quite rarely. It is affected by game resolution, for example in bm_c4a1b1 this bug shows up well with a resolution wtih 1920x1080, but with 3840x2160 the light source from the teleporter flickers, but does not form a hole. Can be fixed if increase NormalBias number.

Confirm.pngConfirm: Does it happen with newLight_Spot ?





Weapons dynamic light incorrect work with damaged func_breakable_surf

For some reason weapons dynamic light can illuminate damaged func_breakable_surf even if position of it very far from position of damaged func_breakable_surf.

Confirm.pngConfirm: Is there a way to fix this?



New lights don't work with 3D Skybox

Don't use new lights in your 3D skyboxes, none of them will work at all.


Motion blur blurring viewmodel lighting layer

For some reason Motion blur blurring viewmodel lighting layer, you can notice this when you just rotate camera.


Deferred lighting incorrect work with Customize Character window

For some reason Customize Character take player's screen, inserts it into character preview window and show one of deferred lighting layers.


Deferred lighting does not draw with -tools

If you don't use Full Screen - deferred lighting will not draw.



Deferred lighting that use shadows disappear after materials reload

This issue happen when you open Hammer while game is opened, when you disable speculars with mat_specular 0, when you reload all matelias with mat_reloadallmaterials, e. t. c. Can be fixed with save reload.


See also

Blank image.pngTodo: Investigate and document some keyvalues and functions. Clean up english. Add more issues if you'll find.