NewLights Spawner: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
No edit summary
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Toc-right}}{{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. 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.
{{warning|New lights use expensive [https://learnopengl.com/Advanced-Lighting/Deferred-Shading 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_Versions|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.}}
{{CDA|CNewLightsSpawner|CBaseEntity|}}
[[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.}}
{{important|This entity will remove old and spawn new lights after each save load. This entity for debugging only.}}
Represented by class <code>CNewLightsSpawner</code>.
{{todo|Fix some stuff.}}
{{back |Black Mesa Level Creation}}
[[File:NewLights_Spawner-Image.jpg|thumb|Image in which [[newLights_Spawner]] is used.]]


== Keyvalues ==
== Keyvalues ==
{{KV Targetname}}
{{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]].
Line 20: Line 16:
*1: Yes}}
*1: Yes}}
{{KV|SpawnDir_Right|intn=SpawnDir_Right|vector|Spawn direction.}}
{{KV|SpawnDir_Right|intn=SpawnDir_Right|vector|Spawn direction.}}
{{KV BmNewLightBase}}
{{KV|Light Color|intn=LightColor|color255|The RGB color of the light. Colors must be between 0 and 255.}}
{{KV|Light Intensity|intn=lightintensity|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.}}
}}
{{KV|Range|intn=lightrange|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.}}
:{{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>
}}
}}


== 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]])

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