Struct CullParams ​
Namespace: ValveResourceFormat.Renderer.Buffers
Assembly: Renderer.dll
Shared constants for both cull passes.
public struct CullParamsRemarks ​
Matches CullParams_t, 192 bytes. Sequential .NET packing reproduces the std140 offsets, which in turn reproduce the packoffsets Source 2's own build uses (c0, c1, c3, c4, c7).
Fields ​
BinBatches ​
Output layout of each batch in the depth bin pass.
public CullBatchArray BinBatchesField Value ​
BinEpsilon ​
Depth bin dilation, in key units.
public float BinEpsilonField Value ​
float
DepthBinWidth ​
Width of one depth bin, in depth key units. The key is octaves past the near plane, so bins linear in it are logarithmic in view depth while the shader still steps through them linearly.
public float DepthBinWidthField Value ​
float
DepthBins ​
Depth bin count. Read by neither shader, the depth bin dispatch is exact.
public uint DepthBinsField Value ​
uint
FirstMaskForBatch0 ​
First mask index of batch 0, always zero. Both shaders compare the dispatch's mask axis against these to find which batch they belong to, and their mask index within it.
public uint FirstMaskForBatch0Field Value ​
uint
FirstMaskForBatch1 ​
First mask index of batch 1.
public uint FirstMaskForBatch1Field Value ​
uint
FirstMaskForBatch2 ​
First mask index of batch 2.
public uint FirstMaskForBatch2Field Value ​
uint
FirstMaskForBatch3 ​
First mask index of batch 3.
public uint FirstMaskForBatch3Field Value ​
uint
NearPlane ​
Depth key of bin 0's near edge.
public float NearPlaneField Value ​
float
TileBatches ​
Output layout of each batch in the tile pass.
public CullBatchArray TileBatchesField Value ​
TileEpsilon ​
Hull dilation in cull space units. Tiles are tested as their center point, so this is what accounts for a tile's area. Zero here: the hulls arrive already dilated by the tile square.
public float TileEpsilonField Value ​
float
TileToCenterOffset ​
Offset mapping a tile index to its center in cull space.
public Vector2 TileToCenterOffsetField Value ​
TileToCenterScale ​
Scale mapping a tile index to its center in cull space.
public Vector2 TileToCenterScaleField Value ​
Tiles ​
Total tile count. Read by neither shader; present to keep the layout intact.
public uint TilesField Value ​
uint
TilesX ​
Tile grid width.
public uint TilesXField Value ​
uint
TilesY ​
Tile grid height.
public uint TilesYField Value ​
uint

