Files
sbox-public/engine/Definitions/common/SceneSystem/ISceneLayer.def
Sam Pavlovic ac30658b29 Rasterizer override fix (#3633)
* RENDER_DEFAULT_STATE_RASTERIZER probably shouldnt remove override of rasterizer state

* Add CSceneLayer::SetLayerNoCull(), we need it to avoid light leaks when rendering DDGI probes

* Update src/rendersystem/rendercontextbase.cpp

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-04 08:50:06 -03:00

56 lines
1.9 KiB
Modula-2

#include "scenesystem/iscenelayer.h"
native enum ELayerFlags as Sandbox.Rendering.LayerFlags
native enum ELayerEnum as Sandbox.SceneLayerType
native pointer HSceneViewRenderTarget as Sandbox.Rendering.SceneViewRenderTargetHandle
native enum SceneLayerMSAAMode_t is NativeEngine.SceneLayerMSAAMode_t
native class ISceneLayer as NativeEngine.ISceneLayer
{
void SetObjectMatchID( StringToken nTok );
void AddObjectFlagsRequiredMask( ESceneObjectFlags nRequiredFlags );
void AddObjectFlagsExcludedMask( ESceneObjectFlags nExcludedFlags );
void RemoveObjectFlagsRequiredMask( ESceneObjectFlags nRequiredFlags );
void RemoveObjectFlagsExcludedMask( ESceneObjectFlags nExcludedFlags );
ESceneObjectFlags GetObjectFlagsRequiredMask() const;
ESceneObjectFlags GetObjectFlagsExcludedMask() const;
string GetDebugName();
ELayerFlags m_nLayerFlags;
SceneLayerType LayerEnum;
RenderViewport m_viewport;
int m_nClearFlags;
inline CRenderAttributes GetRenderAttributesPtr()
{
return &self->m_Attrs;
}
void SetAttr( StringToken nTokenID, HSceneViewRenderTarget hRenderTarget, SceneLayerMSAAMode_t msaa, uint flags );
void SetLayerNoCull( bool enabled );
void SetBoundingVolumeSizeCullThresholdInPercent( float flSizeCullThreshold );
void SetClearColor( Vector4 vecColor, int nRenderTargetIndex );
ITexture GetTextureValue( StringToken nTokenID, ITexture nDefaultValue );
ITexture GetTextureValue( StringToken nTokenID );
inline ITexture GetColorTarget()
{
return this->GetRenderTargetDesc().m_pColorTargets[0];
}
inline ITexture GetDepthTarget()
{
return this->GetRenderTargetDesc().m_hDepthTarget;
}
inline void SetOutput( HSceneViewRenderTarget hColor, HSceneViewRenderTarget hDepth )
{
this->m_RenderTargetOutputs.Init( hColor, hDepth );
}
}