Env projectedtexture: Difference between revisions
Jump to navigation
Jump to search
Warning:This is the most expensive light entity in the engine. Use sparingly.
In code, it is represented by the
Note:In Garry's Mod, there can be up to 9 active
Bug:Parenting does not work with stock SDK code. [todo tested in ?]
Bug:
No smooth transition between this light and env_cascade_light. [todo tested in ?]
Note:The
Bug:The entity cannot target another entity. [todo tested in ?]
Note:In some FGDs, only
m (Add note that SpotlightTexture is fixed in p2ce) |
Deprecated (talk | contribs) (Changed internal keyvalue names to use KV intn parameter) |
||
Line 42: | Line 42: | ||
==Keyvalues== | ==Keyvalues== | ||
{{KV|Target | {{KV|Target|intn=target|targetname|The entity will rotate to point at this target. Make sure you check the ''Always update'' flag if you set this.}} | ||
{{KV|FOV | {{KV|FOV|intn=lightfov|float|The field of view cone/pyramid at which the texture is projected. | ||
:{{confirm|This keyvalue does not work in Alien Swarm.}}}} | :{{confirm|This keyvalue does not work in Alien Swarm.}}}} | ||
{{KV|NearZ | {{KV|NearZ|intn=nearz|float|Objects closer than this will not receive the light from the projection.}} | ||
{{KV|FarZ | {{KV|FarZ|intn=farz|float|Objects beyond this distance will not receive the light from the projection.}} | ||
{{KV|Enable Shadows | {{KV|Enable Shadows|intn=enableshadows|boolean|Enables/disables shadows from this projected texture. 0 {{=}} no, 1 {{=}} yes.}} | ||
{{KV|Shadow Quality | {{KV|Shadow Quality|intn=shadowquality|choices|Quality of shadows. | ||
:*0: Low (sharp, pixelized shadows) | :*0: Low (sharp, pixelized shadows) | ||
:*1: High (smooth edged shadows)}} | :*1: High (smooth edged shadows)}} | ||
{{KV|Light Only Target | {{KV|Light Only Target|intn=lightonlytarget|boolean|Limit flashlight effect to only affect target entity.}} | ||
{{KV|Light World | {{KV|Light World|intn=lightworld|boolean|Control whether flashlight affects static world geometry. 0 {{=}} no, 1 {{=}} yes.}} | ||
{{KV|Light Color | {{KV|Light Color|intn=lightcolor|color255 + int|Light color and intensity.}} | ||
{{KV|Camera Space | {{KV|Camera Space|intn=cameraspace|integer|Angles are interpreted as being relative to camera.}} | ||
{{KV|Texture Name | {{KV|Texture Name|intn=texturename|string|nofgd=1|The [[texture]] which this entity projects. Must be a [[VTF]] file (not VMT), relative to <code>/materials</code>.}} | ||
{{KV|Texture Frame | {{KV|Texture Frame|intn=textureframe|int|nofgd=1|If the texture is animated, this is the frame it should begin on.}} | ||
{{KV|Simple Projection | {{KV|Simple Projection|intn=simpleprojection|since=AS|nofgd=1|boolean|Indicates if this is a simple, non-light casting texture projection.}} | ||
{{KV|Simple Projection Size | {{KV|Simple Projection Size|intn=projection_size|Size of the simple projection.|since=AS|nofgd=1|float|}} | ||
{{KV|Simple Projection Rotation | {{KV|Simple Projection Rotation|intn=projection_rotation|since=AS|nofgd=1|float|}} | ||
{{KV|Brightness Scale | {{KV|Brightness Scale|intn=brightnessscale|float|since=AS|Scale the light color by this brightness.}} | ||
{{KV|Color Transition Time | {{KV|Color Transition Time|intn=colortransitiontime|float|since=AS|Amount of time it takes for a color change to occur. Higher numbers cause faster transitions.}} | ||
{{KV|Appearance | {{KV|Appearance|intn=style|choices|since=P2|also=GMOD|Various Custom Appearance presets. {{Note|Requires input <code>AlwaysUpdateOn</code> to work.}} }} | ||
{{light appearances}} | {{light appearances}} | ||
{{KV|Custom Appearance | {{KV|Custom Appearance|intn=pattern|string|since=P2|also=GMOD|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. <code>aaggnnttzz</code> would be a steppy fade in from dark to light.}} | ||
{{KV|Default Appearance | {{KV|Default Appearance|intn=defaultstyle|string|since=P2|}} | ||
{{KV|Enable Volumetrics|boolean|only={{P2CE}}|intn=volumetric|Whether or not to use volumetrics for this projected texture}} | {{KV|Enable Volumetrics|boolean|only={{P2CE}}|intn=volumetric|Whether or not to use volumetrics for this projected texture.}} | ||
{{KV|Volumetric Intensity|float|only={{P2CE}}|intn=volumetricintensity|Defines the intensity of the volumetrics. (Default is 1. Can go above; no strict limit)}} | {{KV|Volumetric Intensity|float|only={{P2CE}}|intn=volumetricintensity|Defines the intensity of the volumetrics. (Default is 1. Can go above; no strict limit)}} | ||
{{KV BaseEntity|css=1}} | {{KV BaseEntity|css=1}} | ||
Line 91: | Line 91: | ||
{{IO|EnableVolumetrics|param=boolean|Enables or disables volumetrics.|only={{P2CE}}}} | {{IO|EnableVolumetrics|param=boolean|Enables or disables volumetrics.|only={{P2CE}}}} | ||
{{IO|SetVolumetricIntensity|param=float|Sets the intensity of the volumetrics. (Default is 1. Can go above; no strict limit)|only={{P2CE}}}} | {{IO|SetVolumetricIntensity|param=float|Sets the intensity of the volumetrics. (Default is 1. Can go above; no strict limit)|only={{P2CE}}}} | ||
{{IO|SetBrightnessScale|param=float|Sets the brightness|only={{P2CE}}}} | {{IO|SetBrightnessScale|param=float|Sets the brightness.|only={{P2CE}}}} | ||
{{I BaseEntity}} | {{I BaseEntity}} | ||
Revision as of 07:39, 28 January 2021

Portal 2 uses projected textures extensively for world lighting.
Template:Base point 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.


CEnvProjectedTexture
class, defined in theenv_projectedtexture.cpp
file.
Caveats and Fixes
Main article: Env_projectedtexture/fixes
- Valve's games only support one shadow map in the PVS at a time.
Fix:It is possible to modify/remove this limit by following these instructions.
- 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.

env_projectedtexture
s turned on with shadow mapping at a time. You can also increase this limit by putting -numshadowtextures #
in the Steam launch parameters of Garry's Mod, where # is the number of shadow maps the game should allow.- Shadows are only rendered when the user is running with "High" shadow detail. If your options menu does not show the "High" shadow detail setting by default, you can add
-force_vendor_id 0x10DE -force_device_id 0x1180
to the game's launch options for it to show up. - In multiplayer,
mat_supportflashlight
must be set to 1 for flashlights to work. 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, with the exception of Garry's Mod. You can follow these instructions to fix this bug.

Code Fix:This bug is fixable by following these instructions: Env_projectedtexture/fixes#Fixing Parenting.


Source 2007/2009 bugs
These have all been fixed in more recent engine builds.
Code Fix:You can fix this issue by following these instructions: Env_projectedtexture/fixes#Fix_configurable_texture_value_in_Hammer.

SpotlightTexture
input has been disabled in the Portal 2 and CS:GO engines, and instead shows an error message: "SetSpotlightTexture is disabled. If you need this feature reimplemented, tell a programmer."
Code Fix:This bug is fixable by following these instructions: env_projectedtexture/fixes#Fixing targeting.
Flags
- 1: Enabled
- 2: Always Update (moving light) Template:AS addTemplate:Mapbase also
Keyvalues
- 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. 0 = no, 1 = yes.
- Shadow Quality (shadowquality) <choices>
- Quality of shadows.
- 0: Low (sharp, pixelized shadows)
- 1: High (smooth edged shadows)
- Light Only Target (lightonlytarget) <boolean>
- Limit flashlight effect to only affect target entity.
- Light World (lightworld) <boolean>
- Control whether flashlight affects static world geometry. 0 = no, 1 = yes.
- 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) <Size of the simple projection.> (in all games since
) !FGD
- float
- Brightness Scale (brightnessscale) <float> (in all games since
)
- Scale the light color by this brightness.
- Color Transition Time (colortransitiontime) <float> (in all games since
)
- Amount of time it takes for a color change to occur. Higher numbers cause faster transitions.
- Appearance (style) <choices> (in all games since
) (also in
)
- Various Custom Appearance presets.
Note:Requires input
AlwaysUpdateOn
to work.
- 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.
- Enable Volumetrics (volumetric) <boolean> (only in
)
- Whether or not to use volumetrics for this projected texture.
- Volumetric Intensity (volumetricintensity) <float> (only in
)
- Defines the intensity of the volumetrics. (Default is 1. Can go above; no strict limit)
Inputs

TurnOn
, TurnOff
and FOV
are present.- TurnOn
- Turns on the texture.
Confirm:In gmod projected lights always start on even when "enabled" is not checked.
- TurnOff
- Turns off the texture.
- FOV <float >
- Sets FOV.
- EnableShadows <boolean >
- Set the if shadows are enabled. 0 = no, 1 = yes.
- SpotlightTexture <string >
- Sets the spotlight texture.
- Target <string >
- Specify a new Target entity to point at.
- CameraSpace <boolean >
- Sets Camera Space.
{{IO|LightOnlyTarget|param=boolean|Sets Light Only Target.
- LightWorld <integer >
- Sets Light World. 0 = no, 1 = yes.
- AlwaysUpdateOn (in all games since
)
- Turn on per frame updating (for moving lights).
- AlwaysUpdateOff (in all games since
)
- Turn off per frame updating (for moving lights).
- 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)
- 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.