env_projectedtexture
![]() |
---|
CEnvProjectedTexture |
![]() |
![](/w/images/thumb/e/e1/Global_shadow_mapping.jpg/300px-Global_shadow_mapping.jpg)
env_projectedtexture
is a point entity available in all Source games since
Source 2006.
It projects a texture as a dynamic light that affects all objects in the world, optionally with Shadow Mapping. env_Projectedtexture does not light the world similarly that other light entities which are ray-traced when you compile the map. This light however is real-time and works without RAD.
![Warning.png](/w/images/thumb/c/cb/Warning.png/10px-Warning.png)
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
![Alien Swarm Deferred](/w/images/e/ee/Icon-ASD_16px.png)
![Lambda Wars](/w/images/7/7c/Lw-16px.png)
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
![Black Mesa](/w/images/thumb/3/31/Bms_icon.png/16px-Bms_icon.png)
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
![PlacementTip.png](/w/images/thumb/c/cc/PlacementTip.png/14px-PlacementTip.png)
Flags
Enabled : [1]
![Icon-Bug.png](/w/images/thumb/b/b4/Icon-Bug.png/10px-Icon-Bug.png)
![Garry's Mod](/w/images/thumb/e/ea/Gmod_icon.png/16px-Gmod_icon.png)
![Counter-Strike: Source](/w/images/thumb/a/ad/Css_icon.png/16px-Css_icon.png)
![PlacementTip.png](/w/images/thumb/c/cc/PlacementTip.png/14px-PlacementTip.png)
Always Update (for moving light) : [2] (only in .)
All lights always update in Garry's Mod.
![Tip.png](/w/images/thumb/4/45/Tip.png/9px-Tip.png)
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
- Target (target) <targetname>
- The entity will rotate to point at this target. Make sure you check the Always update flag if you set this.
- FOV (lightfov) <float>
- The field of view cone/pyramid at which the texture is projected.
Confirm:This keyvalue does not work in Alien Swarm.
- NearZ (nearz) <float>
- Objects closer than this will not receive the light from the projection.
- FarZ (farz) <float>
- Objects beyond this distance will not receive the light from the projection.
- Enable Shadows (enableshadows) <boolean>
- Enables/disables shadows from this projected texture.
- Shadow Quality (shadowquality) <integer choices>
- Quality of shadows.
- 0: Low (sharp, pixelized shadows)
- 1: High (smooth edged shadows)
- Shadow Filter (shadowfilter) <integer> (only in
)
- Changes the Shadow Filter parameter of the light, which is responsible for smoothing the light. Works only when enabled Always update flag.
- Light Only Target (lightonlytarget) <boolean>
- Limit flashlight effect to only affect target entity.
- Light World (lightworld) <boolean>
- Control whether flashlight affects static world geometry.
- Light Color (lightcolor) <color255 + int>
- Light color and intensity.
Note:This entity has different brightness rules when compared to light. A good number to start at is 10000 with a Brightness scale of 5-10
- Camera Space (cameraspace) <integer>
- Angles are interpreted as being relative to camera.
- Texture Name (texturename) <string> !FGD
- The texture which this entity projects. Must be a VTF file (not VMT), relative to
/materials
. - Texture Frame (textureframe) <integer> !FGD
- If the texture is animated, this is the frame it should begin on.
- Simple Projection (simpleprojection) <boolean> (in all games since
) !FGD
- Indicates if this is a simple, non-light casting texture projection.
- Simple Projection Size (projection_size) <float> (in all games since
) !FGD
- Size of the simple projection.
- Simple Projection Rotation (projection_rotation) <float> (in all games since
) !FGD
- Brightness Scale (brightnessscale) <float> (in all games since
) (also in
)
- Scale the light color by this brightness.
- Color Transition Time (colortransitiontime) <float> (in all games since
) (also in
)
- Amount of time it takes for a color change to occur. Higher numbers cause faster transitions.
- Appearance (style) <integer choices> (in all games since
) (also in
)
- Various Custom Appearance presets.
Note:Requires input
AlwaysUpdateOn
to work.
Lightstyle presets (epilepsy warning) Literal Value Description Sequence Preview 0 Normal m 10 Fluorescent flicker mmamammmmammamamaaamammma 2 Slow, strong pulse abcdefghijklmnopqrstuvwxyzyxwvutsrqponmlkjihgfedcba 11 Slow pulse, noblack abcdefghijklmnopqrrqponmlkjihgfedcba 5 Gentle pulse jklmnopqrstuvwxyzyxwvutsrqponmlkj 1 Flicker A mmnmmommommnonmmonqnmmo 6 Flicker B nmonqnmomnmomomno 3 Candle A mmmmmaaaaammmmmaaaaaabcdefgabcdefg 7 Candle B mmmaaaabcdefgmmmmaaaammmaamm 8 Candle C mmmaaammmaaammmabcdefaaaammmmabcdefmmmaaaa 4 Fast strobe mamamamamama 9 Slow strobe aaaaaaaazzzzzzzz 12 Underwater light mutation mmnnmmnnnmmnn
- Custom Appearance (pattern) <string> (in all games since
) (also in
)
- Set a custom pattern of light brightness for this light. Pattern format is a string of characters, where a is total darkness, z fully bright. i.e.
aaggnnttzz
would be a steppy fade in from dark to light. - Default Appearance (defaultstyle) <string> (in all games since
)
- Light Strength (lightstrength) <float> (only in
)
- How bright the light appears.
Confirm:How is this different than brightnessscale?
- Light View Models (lightviewmodels) <boolean> (only in
)
- Control whether flashlight effects view models.
- Light Not PVS Culled (lightnotpvsculled) <boolean> (only in
)
- Disable PVS culling optimization for this light (you shouldn't do this unless it's explicitly causing problems).
- Enable Volumetrics (volumetric) <boolean> (only in
) !FGD
- Whether or not to use volumetrics for this projected texture.
- Volumetric Intensity (volumetricintensity) <float> (only in
) !FGD
- Defines the intensity of the volumetrics. (Default is 1. Can go above; no strict limit)
![Icon-Important.png](/w/images/thumb/5/5c/Icon-Important.png/10px-Icon-Important.png)
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
![Portal: Revolution](/w/images/thumb/f/fd/Portal_Revolution.png/16px-Portal_Revolution.png)
![Portal 2: Community Edition](/w/images/thumb/a/ae/Icon_P2CE_full.png/16px-Icon_P2CE_full.png)
Inputs
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
TurnOn
, TurnOff
and FOV
are present.- TurnOn
- Turns on the texture.
- TurnOff
- Turns off the texture.
- FOV <float>
- Sets FOV.
- EnableShadows <boolean>
- Set the if shadows are enabled.
- Ambient <float>
- Set ambient.
Bug:Non-functional. [todo tested in ?]
Confirm:Does it work in any game?
- SpotlightTexture <string>
- Sets the spotlight texture.
- Target <string>
- Specify a new Target entity to point at.
- CameraSpace <boolean>
- Sets Camera Space.
- LightOnlyTarget <boolean>
- Sets Light Only Target.
- LightColor <color255> (in all games since
) (also in
)
- Change the Light Color.
- SetBrightness <float> (only in
)
- Sets the brightness.
- SetLightStyle <integer> (in all games since
) (also in
)
- Sets an Appearance. (see Appearance keyvalue above for possible values)
- SetPattern <string> (in all games since
) (also in
)
- Sets Custom Appearance. (see Custom Appearance keyvalue above)
- SetNearZ <float> (in all games since
) (also in
)
- Sets NearZ.
- SetFarZ <float> (in all games since
) (also in
)
- Sets FarZ.
- EnableVolumetrics <boolean> (only in
)
- Enables or disables volumetrics.
- SetVolumetricIntensity <float> (only in
)
- Sets the intensity of the volumetrics. (Default is 1. Can go above; no strict limit)
- SetBrightnessScale <float> (only in
)
- Sets the brightness.
Caveats and Fixes
Issue/Caveat | Affected games | Fix/Workarounds | Notes |
---|---|---|---|
The Volumetrics option in ![]() |
![]() |
N/A | ![]() ![]() |
Valve's games only support one shadow map in the PVS at a time (including player flashlight). | Official Source games/stock Source SDK Base 2013 code | It is possible to modify/remove this limit in game code by following these instructions.
If mapping for a multiplayer game without game code access where point_servercommand is available and permitted, the cvar mp_flashlight can be forcibly set to 0 to disable to the player flashlight and from interfering with env_projectedtexture. |
The following games/branches have exceptions to this: |
Textures used for projected textures require the flags Clamp S, Clamp T and Clamp All to avoid glitchy tiling. Also note, that VTFs are used directly and no VMT is needed. | All Source games | N/A | N/A |
Shadows are only rendered when the user is running with "High" shadow detail. |
All Source games except ![]() ![]() |
If your options menu does not show the "High" shadow detail setting by default (especially all Intel graphics card), add -force_vendor_id 0x10DE -force_device_id 0xFFFF to the game's launch options |
|
In multiplayer, mat_supportflashlight must be set to 1 for flashlights to work | All multiplayer Source games | N/A | By default these ConVars are disabled in Team Fortress 2, so this entity won't work there without special configuration |
Viewmodels won't receive light or shadows from projected textures | All Source games except ![]() ![]() |
env_projectedtexture/fixes#Enabling shadow receiving on the view model | |
Some Nvidia graphics cards (especially with latest drivers and/or all newer ![]() |
Portal 2 and Garry's Mod, possibly all Source games[confirm]. | Remove the bumpmap ($bumpmap or $ssbump) or $detail textures), or use mat_bumpmap 0 (to disable Bumpmapping), or run the game in Vulkan (-vulkan launch option). | Video of said bug. Also in GMOD (click to preview): ![]() |
While running in DirectX 9 mode, some graphics cards will not render shadows from env_projectedtexture regardless of the shadow detail setting, and as a result will render the texture through brushes and props instead of properly stopping them | Portal 2 | Run the game in Vulkan mode with the launch parameter -vulkan | Also affects all DX9 based mods, fixed in ![]() ![]() |
Parenting does not work with stock SDK code | Source SDK Base 2013 | Env_projectedtexture/fixes#Fixing Parenting | N/A |
No smooth transition between this light and env_cascade_light | CS:GO | N/A | N/A |
SpotlightTexture input is disabled in some branches | Portal 2 engine branch and CS:GO branch | N/A | Fixed in ![]() |
The light will cause multiple layered info_overlays to show through each other | N/A | N/A | |
Source 2007/2009 Bugs | |||
![]() | |||
The configurable texture value from Hammer is not accepted - will always default to effects/flashlight001 | Source 2007, Source 2009, Source Multiplayer, Source 2013 Multiplayer | Use the SpotlightTexture input or override the actual contents of the default VTF with a new one.
Env_projectedtexture/fixes#Fix_configurable_texture_value_in_Hammer |
N/A |
This entity cannot target another entity | Source 2007, Source 2009, Source Multiplayer [confirm] | env_projectedtexture/fixes#Fixing targeting | N/A |
Models will not receive their own shadows correctly | Source 2007, Source 2009, Source Multiplayer [confirm] | Create a bumpmap for the texture. Even a flat bumpmap is sufficient, such as ![]() dev/flat_normal.vtf .
|
N/A |
This entity will cause issues if the entity overlaps a portal in Portal | Portal | N/A | ![]() |
See also
- Volumetric lighting
- Lighting
- Adding Light
- Intermediate Lighting
- Advanced Lighting
- Effect flags (dynamic light effects)
- Tool textures (for Block light)
- newLight_Point
- newLight_Spot
- newLight_Dir
- NewLights_settings
- env_cascade_light
- BlackMesa XenEngine: Part 4 – Lighting & Shadows (page from Black Mesa developer about new lights)