NewLights Spawner: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
 
(15 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Toc-right}}{{This is a|name=NewLights_Spawner|e0|game=Black Mesa}} This entity creates client side new lights over a given area when it appears and also after loading save. Created new lights removes if this entity is removed from level. Initially created to test new lighting system. For better understanding of this page - recommended at first familiarize yourself with new lights.
{{this is a|point entity|name=NewLights_Spawner|game=Black Mesa}} This entity creates client side new lights over a given area when it appears. Created new lights removes if this entity is removed from the level. Initially created to test new lighting system and debugging.
{{back | Black Mesa Level Creation}}
{{CDA|CNewLightsSpawner|CBaseEntity|}}  
[[File:NewLights_Spawner-Image.jpg|thumb|Image in which [[newLights_Spawner]] is used.]]
[[File:NewLights_Spawner_jpgALT.jpg|570px||thumb|right|NewLighs_Spawner in perftest_glight.]]
{{important|This entity will remove old and spawn new lights after each save load. This entity for debugging only.}}


==Keyvalues==
== Keyvalues ==
{{KV|Name|intn=targetname|target_source|The name that other entities refer to this entity by.}}
{{KV|LightType|intn=LightType|Choices|  
{{KV|LightType|intn=LightType|Choices|  
Type of new lights that will create [[NewLights_Spawner]].
Type of new lights that will create [[NewLights_Spawner]].
*0: Point Light
*0: Point Light
*1: Spot Light}}
*1: Spot Light}}
{{KV|NumLights|intn=NumLights|integer|NumLights
{{KV|NumLights|intn=NumLights|integer|Amount of new lights that will be spawned.}}
Determines number of new lights that will spawn.}}
{{KV|NumLightsInRow|intn=NumLightsInRow|integer|Amount of new lights that will spawn in each row.}}
{{KV|NumLightsInRow|intn=NumLightsInRow|integer|NumLightsInRow
{{KV|ColSpacing|intn=ColSpacing|float|Col spacing.}}
Determines number of new lights that will spawn in every row.}}
{{KV|RandomColor|intn=RandomColor|Choices|If yes - new lights will use random colors. If no - new lights will use chosen color.
{{KV|Range|intn=Range|float|Range.
*0: No
How far the light source illuminates. Measured in Hammer Units.}}
*1: Yes}}
{{Important|It greatly affects optimization, less is better.}}
{{KV|SpawnDir_Right|intn=SpawnDir_Right|vector|Spawn direction.}}
{{expand|title=Examples|
{{KV|Light Color|intn=LightColor|color255|The RGB color of the light. Colors must be between 0 and 255.}}
<br>
{{KV|Light Intensity|intn=lightintensity|float|Intensity/brightness of the light. It's RGB * intensity.
<gallery mode=packed heights=500px>
:{{Note|With 0 it will make the light disabled, including the effects. Doesn't affect shadows.}}
File:cL1.jpg| thumb | left | 510px | Range - 150
}}
File:cL2.jpg| thumb | left | 510px | Range - 300
{{KV|Range|intn=lightrange|float|Range of the light, or how far the light source can illuminate. Measured in Hammer Units.
File:cL3.jpg| thumb | left | 510px | Range - 500
:{{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.}}
:{{expand|title=Examples|
<gallery mode=packed heights=280px>
File:range50.jpg| thumb | left | 510px | Range - 50
File:range1000.jpg| thumb | left | 510px | Range - 1000
File:range15000.jpg| thumb | left | 510px | Range - 15000
</gallery>
</gallery>
}}
}}
{{KV|Light Intensity|intn=Intensity|float|RGB * Intensity.
}}
Brightness of the light.}}
{{Note|With 0 will not draw, process and specular shader be disabled.}}
{{KV|RowSpaceing|intn=RowSpaceing|float|RowSpaceing
Row spaceing.}}
{{KV|ColSpacing|intn=ColSpacing|float|ColSpacing
Col spacing.}}
{{KV|RandomColor|intn=RandomColor|Choices|
If yes - new lights will use random colors. If no - new lights will use chosen color.
*0: No
*1: Yes}}
{{KV|Light Color|intn=LightColor|color255|This is the color of the light when random color is tunedOFF}}
{{KV|SpawnDir_Right|intn=SpawnDir_Right|vector|SpawnDir_Right
Spawn dir right.}}
 
==Inputs==
{{I BaseEntity}}
 
==Outputs==
{{O BaseEntity|}}


== See Also ==
== See also ==
* {{ent|newLight_Point}}
* {{ent|newLight_Point}} - point deferred light entity.
* {{ent|newLight_Spot}}
* {{ent|newLight_Spot}} - spot deferred light entity.
* {{ent|env_lensflare}}
* {{ent|env_lensflare}} - cinematic dynamic lens flare.
* {{ent|newLight_Dir}}
* {{ent|newLight_Dir}} - directional sun light with godrays only.
* {{ent|newLights_settings}}
* {{ent|newLights_settings}} - entity that changes deferred light settings.
* {{ent|env_cascade_light}}
* {{ent|godrays_settings}} - entity that changes godrays settings.
* [[Lighting]]
* {{ent|env_cascade_light}} - deferred cascade sun light entity.
* [[Adding Light]]
* [[New Lights Editor]] - in game deferred lights editor.
* [[Intermediate Lighting]]
* [[Effect flags]] - effects flags, some of them are dynamic light effects.
* [[Advanced Lighting]]
* [https://chetanjags.wordpress.com/2023/07/18/blackmesa-xenengine-part-4-lighting-shadows/ BlackMesa XenEngine: Part 4 – Lighting & Shadows] - page from Chetan (lead programmer for Black Mesa) about new lights.
* [[Effect flags]] (dynamic light effects)
* [https://chetanjags.wordpress.com/2023/07/11/blackmesa-xenengine-part2-how-a-frame-is-rendered/ BlackMesa XenEngine: Part2 – How a Frame is Rendered] - page from Chetan (lead programmer for Black Mesa) about how a frame is rendered.
* [[Tool textures]] (for Block light)
* [https://chetanjags.wordpress.com/2022/06/01/blackmesa-xenengine-part1-a-heavily-modified-source-engine/ BlackMesa XenEngine: Part1 – Heavily Modified Source Engine] page from Chetan (lead programmer for Black Mesa) about {{xe|4}}.
* [https://chetanjags.wordpress.com/2023/07/18/blackmesa-xenengine-part-4-lighting-shadows/ BlackMesa XenEngine: Part 4 – Lighting & Shadows] (page from Black Mesa developer about new lights)
* [https://chetanjags.wordpress.com/2023/07/11/blackmesa-xenengine-part2-how-a-frame-is-rendered/ BlackMesa XenEngine: Part2 – How a Frame is Rendered] (page from Black Mesa developer about how a frame rendered)
* [https://chetanjags.wordpress.com/2022/06/01/blackmesa-xenengine-part1-a-heavily-modified-source-engine/ BlackMesa XenEngine: Part1 – Heavily Modified Source Engine] (page from Black Mesa developer about Black Mesa engine, better known as [[Xenengine]])
{{todo|Clean up english.}}

Latest revision as of 06:26, 27 May 2025

NewLights_Spawner is a point entity available in Black Mesa Black Mesa. This entity creates client side new lights over a given area when it appears. Created new lights removes if this entity is removed from the level. Initially created to test new lighting system and debugging.

C++ Class hierarchy
CNewLightsSpawner
CBaseEntity
NewLighs_Spawner in perftest_glight.
Icon-Important.pngImportant:This entity will remove old and spawn new lights after each save load. This entity for debugging only.

Keyvalues

LightType (LightType) <choices>
Type of new lights that will create NewLights_Spawner.
  • 0: Point Light
  • 1: Spot Light
NumLights (NumLights) <integer>
Amount of new lights that will be spawned.
NumLightsInRow (NumLightsInRow) <integer>
Amount of new lights that will spawn in each row.
ColSpacing (ColSpacing) <float>
Col spacing.
RandomColor (RandomColor) <choices>
If yes - new lights will use random colors. If no - new lights will use chosen color.
  • 0: No
  • 1: Yes
SpawnDir_Right (SpawnDir_Right) <vector>
Spawn direction.
Light Color (LightColor) <color255>
The RGB color of the light. Colors must be between 0 and 255.
Light Intensity (lightintensity) <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 (lightrange) <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

See also