Struct CullParams ​
Namespace: ValveResourceFormat.Renderer.Buffers
Assembly: Renderer.dll
Shared constants for both cull passes.
public struct CullParamsRemarks ​
Matches CullParams_t, 160 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 CullBatchTriple BinBatchesField Value ​
BinEpsilon ​
Depth bin dilation, in key units.
public float BinEpsilonField Value ​
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 ​
DepthBins ​
Depth bin count. Read by neither shader, the depth bin dispatch is exact.
public uint DepthBinsField Value ​
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 ​
FirstMaskForBatch1 ​
First mask index of batch 1.
public uint FirstMaskForBatch1Field Value ​
FirstMaskForBatch2 ​
First mask index of batch 2.
public uint FirstMaskForBatch2Field Value ​
MaskCount ​
Total mask count across all batches. Read by neither shader; it is the dispatch size.
public uint MaskCountField Value ​
NearPlane ​
Depth key of bin 0's near edge.
public float NearPlaneField Value ​
TileBatches ​
Output layout of each batch in the tile pass.
public CullBatchTriple 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 ​
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 ​
TilesX ​
Tile grid width.
public uint TilesXField Value ​
TilesY ​
Tile grid height.
public uint TilesY
