Class Scene
- Namespace
- ValveResourceFormat.Renderer
- Assembly
- Renderer.dll
Container for scene nodes with spatial partitioning, lighting, and render state management.
public class Scene : IDisposableInheritance
Implements
Inherited Members
Constructors
Scene(RendererContext, float)
public Scene(RendererContext context, float sizeHint = 32768)Parameters
contextRendererContextsizeHintfloat
Properties
AllNodes
public IEnumerable<SceneNode> AllNodes { get; }Property Value
CompactedCountsGpu
public StorageBuffer? CompactedCountsGpu { get; set; }Property Value
CompactedDrawsGpu
public StorageBuffer? CompactedDrawsGpu { get; set; }Property Value
CompactionRequestsGpu
public StorageBuffer? CompactionRequestsGpu { get; set; }Property Value
DepthPyramid
public RenderTexture? DepthPyramid { get; }Property Value
DepthPyramidValid
public bool DepthPyramidValid { get; }Property Value
DepthPyramidViewProjection
public Matrix4x4 DepthPyramidViewProjection { get; }Property Value
DrawBoundsGpu
public StorageBuffer? DrawBoundsGpu { get; set; }Property Value
DynamicOctree
public Octree DynamicOctree { get; }Property Value
EnableCompaction
public bool EnableCompaction { get; set; }Property Value
EnableDepthPrepass
public bool EnableDepthPrepass { get; set; }Property Value
EnableIndirectDraws
public bool EnableIndirectDraws { get; set; }Property Value
EnableOcclusionCulling
public bool EnableOcclusionCulling { get; set; }Property Value
FogEnabled
public bool FogEnabled { get; set; }Property Value
FogInfo
public WorldFogInfo FogInfo { get; set; }Property Value
HasOutlineObjects
public bool HasOutlineObjects { get; }Property Value
IndirectDrawsGpu
public StorageBuffer? IndirectDrawsGpu { get; set; }Property Value
InstanceBufferGpu
public StorageBuffer? InstanceBufferGpu { get; set; }Property Value
LightingInfo
public WorldLightingInfo LightingInfo { get; }Property Value
MeshletDataGpu
public StorageBuffer? MeshletDataGpu { get; set; }Property Value
OcclusionDebug
public OcclusionDebugRenderer? OcclusionDebug { get; set; }Property Value
OcclusionDebugEnabled
public bool OcclusionDebugEnabled { get; set; }Property Value
PhysicsWorld
public Rubikon? PhysicsWorld { get; set; }Property Value
PostProcessInfo
public WorldPostProcessInfo PostProcessInfo { get; set; }Property Value
RenderAttributes
public Dictionary<string, byte> RenderAttributes { get; }Property Value
RendererContext
public RendererContext RendererContext { get; }Property Value
SceneMeshletCount
public int SceneMeshletCount { get; }Property Value
ShowToolsMaterials
public bool ShowToolsMaterials { get; set; }Property Value
StaticOctree
public Octree StaticOctree { get; }Property Value
TransformBufferGpu
public StorageBuffer? TransformBufferGpu { get; set; }Property Value
WantsSceneColor
public bool WantsSceneColor { get; set; }Property Value
WantsSceneDepth
public bool WantsSceneDepth { get; set; }Property Value
Methods
Add(SceneNode, bool)
public void Add(SceneNode node, bool dynamic)Parameters
AdjustEnvMapSunAngle(Matrix4x4)
public void AdjustEnvMapSunAngle(Matrix4x4 delta)Parameters
deltaMatrix4x4
CalculateEnvironmentMaps()
public void CalculateEnvironmentMaps()CalculateLightProbeBindings()
public void CalculateLightProbeBindings()CollectSceneDrawCalls(Camera, Frustum?)
public void CollectSceneDrawCalls(Camera camera, Frustum? cullFrustum = null)Parameters
CompactIndirectDraws()
public void CompactIndirectDraws()CreateBuffers()
public void CreateBuffers()Dispose()
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
public void Dispose()Dispose(bool)
protected virtual void Dispose(bool disposing)Parameters
disposingbool
Find(uint)
public SceneNode? Find(uint id)Parameters
iduint
Returns
Find(Entity)
public SceneNode? Find(EntityLump.Entity entity)Parameters
entityEntityLump.Entity
Returns
FindNodeByKeyValue(string, string)
public SceneNode? FindNodeByKeyValue(string keyToFind, string valueToFind)Parameters
Returns
GenerateDepthPyramid(RenderTexture)
public void GenerateDepthPyramid(RenderTexture depthSource)Parameters
depthSourceRenderTexture
GetFrustumCullResults(Frustum)
public List<SceneNode> GetFrustumCullResults(Frustum frustum)Parameters
frustumFrustum
Returns
GetNodeTypeById(uint)
public (Scene.NodeType Type, int LocalId) GetNodeTypeById(uint id)Parameters
iduint
Returns
GetOcclusionTestResults()
public void GetOcclusionTestResults()Initialize()
public void Initialize()MarkParentOctreeDirty(SceneNode)
public bool MarkParentOctreeDirty(SceneNode node)Parameters
nodeSceneNode
Returns
MeshletCullGpu(Frustum)
public void MeshletCullGpu(Frustum frustum)Parameters
frustumFrustum
Remove(SceneNode, bool)
public void Remove(SceneNode node, bool dynamic)Parameters
RenderOcclusionProxies(RenderContext, Shader)
public void RenderOcclusionProxies(Scene.RenderContext renderContext, Shader depthOnlyShader)Parameters
renderContextScene.RenderContextdepthOnlyShaderShader
RenderOpaqueLayer(RenderContext, Span<Shader>)
public void RenderOpaqueLayer(Scene.RenderContext renderContext, Span<Shader> depthOnlyShaders = default)Parameters
renderContextScene.RenderContextdepthOnlyShadersSpan<Shader>
RenderOpaqueShadows(RenderContext, Span<Shader>)
public void RenderOpaqueShadows(Scene.RenderContext renderContext, Span<Shader> depthOnlyShaders)Parameters
renderContextScene.RenderContextdepthOnlyShadersSpan<Shader>
RenderOutlineLayer(RenderContext)
public void RenderOutlineLayer(Scene.RenderContext renderContext)Parameters
renderContextScene.RenderContext
RenderTranslucentLayer(RenderContext)
public void RenderTranslucentLayer(Scene.RenderContext renderContext)Parameters
renderContextScene.RenderContext
RenderWaterLayer(RenderContext)
public void RenderWaterLayer(Scene.RenderContext renderContext)Parameters
renderContextScene.RenderContext
SetEnabledLayers(HashSet<string>)
public void SetEnabledLayers(HashSet<string> layers)Parameters
SetFogConstants(ViewConstants)
public void SetFogConstants(ViewConstants viewConstants)Parameters
viewConstantsViewConstants
SetSceneBuffers()
public void SetSceneBuffers()SetupSceneShadows(Camera, int)
public void SetupSceneShadows(Camera camera, int shadowMapSize)Parameters
Update(UpdateContext)
public void Update(Scene.UpdateContext updateContext)Parameters
updateContextScene.UpdateContext
UpdateBuffers()
public void UpdateBuffers()UpdateNodeIndices()
public void UpdateNodeIndices()UpdateOctrees()
public void UpdateOctrees()