Struct CullItem ​
Namespace: ValveResourceFormat.Renderer.Buffers
Assembly: Renderer.dll
Screen space description of one cull item: an AABB, an optional implicit conic, up to two convex hulls indexing the cull plane buffer, and a depth range. Frustum rejection is a byproduct of building this, so the compute passes never see world space.
public struct CullItemRemarks ​
Matches CullItem_t, 80 bytes. The unused fields are in Source 2's layout but read by neither cull shader, so they stay as padding rather than being guessed at.
Fields ​
BoundsMax ​
Maximum corner of the screen AABB.
public Vector2 BoundsMaxField Value ​
BoundsMin ​
Minimum corner of the screen AABB, in tile center space.
public Vector2 BoundsMinField Value ​
ConicConst ​
Conic constant term.
public float ConicConstField Value ​
ConicEnable ​
Exactly zero disables the conic test, which is what AABB only items do.
public float ConicEnableField Value ​
ConicX ​
Conic x coefficient.
public float ConicXField Value ​
ConicXX ​
Conic x squared coefficient. The test is A x^2 + B y^2 + C xy + D x + E y + F >= 0.
public float ConicXXField Value ​
ConicXY ​
Conic xy coefficient.
public float ConicXYField Value ​
ConicY ​
Conic y coefficient.
public float ConicYField Value ​
ConicYY ​
Conic y squared coefficient.
public float ConicYYField Value ​
DepthMax ​
Furthest view depth the item reaches.
public float DepthMaxField Value ​
DepthMin ​
Nearest view depth the item reaches, used only by the depth bin pass.
public float DepthMinField Value ​
FirstPlane ​
Index into the cull plane buffer of hull 0's first vertex.
public uint FirstPlaneField Value ​
NdcDepthNear ​
X is the item's nearest NDC z, read by the occlusion test in compute_tile_cullbits. Source 2 reads neither float here, so this borrows a slot its layout already spends.
public Vector2 NdcDepthNearField Value ​
NumPlanes0 ​
Vertex count of hull 0. Zero skips the hull test.
public uint NumPlanes0Field Value ​
NumPlanes1 ​
Vertex count of hull 1, starting at + .
public uint NumPlanes1Field Value ​
_Unused04 ​
Unused by both cull shaders.
public uint _Unused04Field Value ​
_Unused76 ​
Padding to 80 bytes.
public float _Unused76
