multiblend_vulkan_40_vs-ZFRAME00000040
Zframe belongs to /dota_game_vulkan_v65/multiblend_vulkan_40_vs.vcs
View byte detail //multiblend_vulkan_40_vs.vcs-ZFRAME00000040-databytes
Configuration
-------------
The static configuration this zframe belongs to (zero or more static parameters)
S_TRANSFORM_CONSTANT_BUFFER 0
S_TOOLS_ENABLED 0
S_MODE_FORWARD 0
S_MODE_DEPTH 0
S_SHADER_QUALITY 0
S_NORMAL_MAP 0
S_SPECULAR 0
S_SCROLL_WAVES 1
S_WORLDSPACE_UVS 0
S_NO_VERTEX_COLOR 0
ZFrame Headers
--------------
VertexPaintUI4Layer 0x5adfe5c5 09 FF FF 1
VertexPaintUIPickColor 0x643bc8aa 09 FF FF 1
VertexPaintUILayerOrderBGRA 0xad12291a 09 FF FF 1
Parameter write sequences
-------------------------
This data (thought to be buffer write sequences) appear to be linked to the dynamic (D-param) configurations;
each configuration points to exactly one sequence. WRITESEQ[0] is always defined and considered 'default'.
WRITESEQ[0] (default) dest control
[ 31] g_tTransformTexture 0 (00) 0 (00)
[ 0] AddressU 0 (00) 0 (00)
[ 1] AddressV 0 (00) 0 (00)
[ 3] Filter 0 (00) 0 (00)
[ 4] PerViewConstantBuffer_t 1 (01) 18 (12)
[ 6] g_dotaGlobalDescSet 3 (03) 0 (00) // 6
[ 27] g_flTexCoordScale0 0 (00) 0 (00)
[ 28] g_flTexCoordScale1 1 (01) 0 (00)
[ 29] g_flTexCoordScale2 2 (02) 0 (00)
[ 23] g_flTexCoordRotate0 3 (03) 0 (00)
[ 24] g_flTexCoordRotate1 4 (04) 0 (00)
[ 25] g_flTexCoordRotate2 5 (05) 0 (00)
[ 36] g_vTexCoordScroll0 6 (06) 0 (00)
[ 37] g_vTexCoordScroll1 8 (08) 0 (00)
[ 38] g_vTexCoordScroll2 10 (0A) 0 (00)
[ 32] g_vTexCoordOffset0 12 (0C) 0 (00)
[ 33] g_vTexCoordOffset1 14 (0E) 0 (00)
[ 34] g_vTexCoordOffset2 16 (10) 0 (00)
[ 30] g_flTexCoordScale3 18 (12) 0 (00)
[ 26] g_flTexCoordRotate3 19 (13) 0 (00)
[ 39] g_vTexCoordScroll3 20 (14) 0 (00)
[ 35] g_vTexCoordOffset3 22 (16) 0 (00)
[ 11] g_flScrollWaveHeight0 24 (18) 0 (00)
[ 19] g_flScrollWaveSecondsPerCycle0 25 (19) 0 (00)
[ 15] g_flScrollWaveOffsetSeconds0 26 (1A) 0 (00)
[ 7] g_flScrollWaveCycleSkip0 27 (1B) 0 (00)
[ 12] g_flScrollWaveHeight1 28 (1C) 0 (00)
[ 20] g_flScrollWaveSecondsPerCycle1 29 (1D) 0 (00)
[ 16] g_flScrollWaveOffsetSeconds1 30 (1E) 0 (00)
[ 8] g_flScrollWaveCycleSkip1 31 (1F) 0 (00)
[ 13] g_flScrollWaveHeight2 32 (20) 0 (00)
[ 21] g_flScrollWaveSecondsPerCycle2 33 (21) 0 (00)
[ 17] g_flScrollWaveOffsetSeconds2 34 (22) 0 (00)
[ 9] g_flScrollWaveCycleSkip2 35 (23) 0 (00)
[ 14] g_flScrollWaveHeight3 36 (24) 0 (00)
[ 22] g_flScrollWaveSecondsPerCycle3 37 (25) 0 (00)
[ 18] g_flScrollWaveOffsetSeconds3 38 (26) 0 (00)
[ 10] g_flScrollWaveCycleSkip3 39 (27) 0 (00) // 38
WRITESEQ[1] dest control
[ 31] g_tTransformTexture 0 (00) 0 (00)
[ 3] Filter 0 (00) 0 (00)
[ 0] AddressU 0 (00) 0 (00)
[ 1] AddressV 0 (00) 0 (00)
[ 4] PerViewConstantBuffer_t 1 (01) 18 (12)
[ 6] g_dotaGlobalDescSet 3 (03) 0 (00) // 6
[ 27] g_flTexCoordScale0 0 (00) 0 (00)
[ 28] g_flTexCoordScale1 1 (01) 0 (00)
[ 29] g_flTexCoordScale2 2 (02) 0 (00)
[ 23] g_flTexCoordRotate0 3 (03) 0 (00)
[ 24] g_flTexCoordRotate1 4 (04) 0 (00)
[ 25] g_flTexCoordRotate2 5 (05) 0 (00)
[ 36] g_vTexCoordScroll0 6 (06) 0 (00)
[ 37] g_vTexCoordScroll1 8 (08) 0 (00)
[ 38] g_vTexCoordScroll2 10 (0A) 0 (00)
[ 32] g_vTexCoordOffset0 12 (0C) 0 (00)
[ 33] g_vTexCoordOffset1 14 (0E) 0 (00)
[ 34] g_vTexCoordOffset2 16 (10) 0 (00)
[ 30] g_flTexCoordScale3 18 (12) 0 (00)
[ 26] g_flTexCoordRotate3 19 (13) 0 (00)
[ 39] g_vTexCoordScroll3 20 (14) 0 (00)
[ 35] g_vTexCoordOffset3 22 (16) 0 (00)
[ 11] g_flScrollWaveHeight0 24 (18) 0 (00)
[ 19] g_flScrollWaveSecondsPerCycle0 25 (19) 0 (00)
[ 15] g_flScrollWaveOffsetSeconds0 26 (1A) 0 (00)
[ 7] g_flScrollWaveCycleSkip0 27 (1B) 0 (00)
[ 12] g_flScrollWaveHeight1 28 (1C) 0 (00)
[ 20] g_flScrollWaveSecondsPerCycle1 29 (1D) 0 (00)
[ 16] g_flScrollWaveOffsetSeconds1 30 (1E) 0 (00)
[ 8] g_flScrollWaveCycleSkip1 31 (1F) 0 (00)
[ 13] g_flScrollWaveHeight2 32 (20) 0 (00)
[ 21] g_flScrollWaveSecondsPerCycle2 33 (21) 0 (00)
[ 17] g_flScrollWaveOffsetSeconds2 34 (22) 0 (00)
[ 9] g_flScrollWaveCycleSkip2 35 (23) 0 (00)
[ 14] g_flScrollWaveHeight3 36 (24) 0 (00)
[ 22] g_flScrollWaveSecondsPerCycle3 37 (25) 0 (00)
[ 18] g_flScrollWaveOffsetSeconds3 38 (26) 0 (00)
[ 10] g_flScrollWaveCycleSkip3 39 (27) 0 (00) // 38
Dynamic (D-Param) configurations (10 defined)
---------------------------------------------
Each dynamic parameters has 1 or more defined states. The disabled state (0) is shown as '_'
All permitted configurations are listed with their matching write sequence and GPU source (there is exactly
one of these for each configuration). To save space, the parameter names (original names starting with D_)
are shortened to 3-5 length strings (shown in parenthesis).
D_BLEND_WEIGHT_COUNT(bwc), D_COMPRESSED_NORMALS_AND_TANGENTS(cnat), D_SFM_LIGHTING(sfm_l), D_NORMAL_MAP(nor_m)
D_WORLDSPACE_TEXCOORDS(wor_t), D_ENABLE_USER_CLIP_PLANE(eucp), D_REDUCE_INTERPOLATORS(red_i)
bwc cnat sfm_l nor_m wor_t eucp red_i
[00] _ _ _ _ _ _ _ WRITESEQ[1] VULKAN[0] //source/0
[01] 1 _ _ _ _ _ _ WRITESEQ[1] VULKAN[1] //source/1
[02] 2 _ _ _ _ _ _ WRITESEQ[1] VULKAN[2] //source/2
[03] 3 _ _ _ _ _ _ WRITESEQ[1] VULKAN[3] //source/3
[04] 4 _ _ _ _ _ _ WRITESEQ[1] VULKAN[4] //source/4
[05] _ 1 _ _ _ _ _ WRITESEQ[1] VULKAN[5] //source/5
[06] 1 1 _ _ _ _ _ WRITESEQ[1] VULKAN[6] //source/6
[07] 2 1 _ _ _ _ _ WRITESEQ[1] VULKAN[7] //source/7
[08] 3 1 _ _ _ _ _ WRITESEQ[1] VULKAN[8] //source/8
[09] 4 1 _ _ _ _ _ WRITESEQ[1] VULKAN[9] //source/9
// configuration states (80), leading summary
0 1 2 2 2 0 1 2 2 2 _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
// configuration states (80), trailing summary
512 512 512 512 512 512 512 512 512 512 _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
source bytes/flags
------------------
A0 // possible control byte (160) or flags (10100000)
00 // values seen (0,1,2)
00 // always 0
00 // always 0
1 // values seen 0,1
10 // nr of source files
0 // values seen 0,1
End blocks
----------
0A 00 00 00 // end blocks (10)
block-ref 0
arg0 0
source-ref 0
source-pointer 5
00 00 00 00 00 00 00 00 00 00 00 00 05 00 00 00
block-ref 1
arg0 0
source-ref 1
source-pointer 10788
01 00 00 00 00 00 00 00 01 00 00 00 24 2A 00 00
block-ref 2
arg0 0
source-ref 2
source-pointer 22236
02 00 00 00 00 00 00 00 02 00 00 00 DC 56 00 00
block-ref 3
arg0 0
source-ref 3
source-pointer 34661
03 00 00 00 00 00 00 00 03 00 00 00 65 87 00 00
block-ref 4
arg0 0
source-ref 4
source-pointer 47086
04 00 00 00 00 00 00 00 04 00 00 00 EE B7 00 00
block-ref 5
arg0 0
source-ref 5
source-pointer 59511
05 00 00 00 00 00 00 00 05 00 00 00 77 E8 00 00
block-ref 6
arg0 0
source-ref 6
source-pointer 71170
06 00 00 00 00 00 00 00 06 00 00 00 02 16 01 00
block-ref 7
arg0 0
source-ref 7
source-pointer 83478
07 00 00 00 00 00 00 00 07 00 00 00 16 46 01 00
block-ref 8
arg0 0
source-ref 8
source-pointer 96763
08 00 00 00 00 00 00 00 08 00 00 00 FB 79 01 00
block-ref 9
arg0 0
source-ref 9
source-pointer 110048
09 00 00 00 00 00 00 00 09 00 00 00 E0 AD 01 00