Class EnvLightingVolume
Namespace: ValveResourceFormat.Renderer.Entities
Assembly: Renderer.dll
The baked lighting volumes: cubemaps and light probe volumes. Each registers what it baked with its scene's , which binds them to the objects they light.
public abstract class EnvLightingVolume : BaseEntityInheritance
object ← BaseEntity ← EnvLightingVolume
Derived
EnvCubemap, EnvLightProbeVolume
Inherited Members
BaseEntity.Scene, BaseEntity.RootNode, BaseEntity.Transform, BaseEntity.RigidTransform, BaseEntity.LayerName, BaseEntity.EntitySystem, BaseEntity.Data, BaseEntity.KeyValues, BaseEntity.Classname, BaseEntity.TargetName, BaseEntity.SpawnFlags, BaseEntity.ParentTransform, BaseEntity.Owner, BaseEntity.MoveParent, BaseEntity.EntityScale, BaseEntity.ModelName, BaseEntity.Origin, BaseEntity.Angles, BaseEntity.Velocity, BaseEntity.AngularVelocity, BaseEntity.NextThink, BaseEntity.MoveDoneTime, BaseEntity.IsRemoved, BaseEntity.Collider, BaseEntity.IsSolid, BaseEntity.IsTrigger, BaseEntity.IsDrawn, BaseEntity.IsCollidable, BaseEntity.TouchingEntities, BaseEntity.CreateRootNode(), BaseEntity.CreateEditorNode(ObjectTypeFlags), BaseEntity.CreateEffect(string?, ParticleSnapshot?, bool), BaseEntity.HasSpawnFlags<TSpawnFlags>(TSpawnFlags), BaseEntity.Spawn(), BaseEntity.Activate(), BaseEntity.Think(), BaseEntity.RoundStart(), BaseEntity.MoveDone(), BaseEntity.TryGetTouchBounds(out Vector3, out Vector3), BaseEntity.AcceptsTouchFrom(BaseEntity), BaseEntity.OnStartTouch(BaseEntity), BaseEntity.OnTouch(BaseEntity), BaseEntity.OnEndTouch(BaseEntity), BaseEntity.ObjectCaps, BaseEntity.Use(BaseEntity?), BaseEntity.Teleport(Vector3, Vector3?), BaseEntity.AcceptInput(string, EntityInputData), BaseEntity.InputKill(EntityInputData), BaseEntity.InputFireUser1(EntityInputData), BaseEntity.InputFireUser2(EntityInputData), BaseEntity.InputFireUser3(EntityInputData), BaseEntity.InputFireUser4(EntityInputData), BaseEntity.SetNextThink(float), BaseEntity.SetMoveDoneTime(float), BaseEntity.PhysicsSimulate(float), BaseEntity.IsPusher, BaseEntity.PusherForcesThrough, BaseEntity.GetSurfaceVelocity(Vector3), BaseEntity.TurnBody(Vector3, Vector3), BaseEntity.SetOriginAndAngles(Vector3, Vector3), BaseEntity.AddNode(SceneNode, bool), BaseEntity.OnRemove(), BaseEntity.UpdateTransform(), BaseEntity.UpdateColliderTransform(), BaseEntity.UpdateRenderTransform(float), BaseEntity.SnapInterpolation(), BaseEntity.AngleMod(float)
Remarks
They have to spawn before anything with a model: whether a scene has cubemaps, and of which kind, is compiled into every mesh's shaders as it is built.
The entity scale does not shrink a volume: its baked probe grid is the unscaled box over the voxel size, and the objects bound to it by their precomputed handshake only fall inside it while it keeps that size.
Constructors
EnvLightingVolume(EntitySystem, EntitySpawnInfo, bool)
Initializes a lighting volume from its keyvalues.
protected EnvLightingVolume(EntitySystem system, EntitySpawnInfo spawnInfo, bool isSphere)Parameters
system EntitySystem
The entity system the volume belongs to.
spawnInfo EntitySpawnInfo
The volume's keyvalues and placement.
isSphere bool
Whether the volume is a sphere of influenceradius rather than a box.
Methods
AddEnvironmentMap()
Registers the cubemap the volume baked, if it has one and it is not a custom texture.
protected void AddEnvironmentMap()AddLightProbe()
Registers the light probe the volume baked.
protected void AddLightProbe()Spawn()
Sets up the entity: loads its model, reads class-specific keyvalues, and schedules its first think. Called by right after construction, before the entity enters the world.
public override void Spawn()
