multiblend_vulkan_40_ps-ZFRAME00000018
Zframe belongs to /dota_game_vulkan_v65/multiblend_vulkan_40_ps.vcs
View byte detail //multiblend_vulkan_40_ps.vcs-ZFRAME00000018-databytes
Configuration
-------------
The static configuration this zframe belongs to (zero or more static parameters)
S_TOOLS_ENABLED 0
S_MODE_FORWARD 0
S_MODE_DEPTH 0
S_MODE_TOOLS_WIREFRAME 0
S_SHADER_QUALITY 1
S_NORMAL_MAP 1
S_RENDER_BACKFACES 0
S_SPECULAR 0
S_WORLDSPACE_UVS 0
S_SHOW_WORLDSPACE_BLEND 0
S_TINT_MASK 0
S_TINT_MASK_2 0
S_LAYER_BORDER_TINT 0
S_PARALLAX_MAP_ON_0 0
S_PARALLAX_MAP_ON_1 0
S_PARALLAX_MAP_ON_2 0
S_PARALLAX_MAP_ON_3 0
S_GLOBAL_TINT 0
ZFrame Headers
--------------
RepresentativeTexture 0x5d700411 0E 52 00
SupportsMappingDimensions 0x89460e6d 09 FF FF 1
DoNotReflect 0x52010974 09 FF FF COND[15] || 0
DoNotCastShadows 0xe0be7b6e 09 FF FF COND[16] || 0
ShadowsOnly 0x83f9427f 09 FF FF COND[17] || 0
DepthPassBatchID 0x2c5b5105 05 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
[ 73] g_flTexCoordRotate0 _ (FF) _ (FF)
[ 74] g_flTexCoordRotate1 _ (FF) _ (FF)
[ 75] g_flTexCoordRotate2 _ (FF) _ (FF)
[ 76] g_flTexCoordRotate3 _ (FF) _ (FF)
[ 77] g_flTexCoordScale0 _ (FF) _ (FF)
[ 78] g_flTexCoordScale1 _ (FF) _ (FF)
[ 79] g_flTexCoordScale2 _ (FF) _ (FF)
[ 80] g_flTexCoordScale3 _ (FF) _ (FF) // 8
[ 81] g_tColor0 0 (00) 0 (00)
[ 82] g_tColor1 1 (01) 0 (00)
[ 83] g_tColor2 2 (02) 0 (00)
[ 84] g_tColor3 3 (03) 0 (00)
[ 85] g_tNormal0 6 (06) 0 (00)
[ 86] g_tNormal1 7 (07) 0 (00)
[ 87] g_tNormal2 8 (08) 0 (00)
[ 88] g_tNormal3 9 (09) 0 (00)
[ 6] DefaultSamplerState 0 (00) 0 (00)
[ 2] BackStencilFunc _ (FF) _ (FF)
[ 5] CullMode _ (FF) _ (FF)
[ 17] StencilEnable _ (FF) _ (FF)
[ 18] StencilFunc _ (FF) _ (FF)
[ 19] StencilReadMask _ (FF) _ (FF)
[ 20] StencilRef _ (FF) _ (FF) // 23
[ 66] g_flBumpStrength 0 (00) 0 (00)
[100] g_vColorTint0 4 (04) 0 (00)
[101] g_vColorTint1 8 (08) 0 (00)
[102] g_vColorTint2 12 (0C) 0 (00)
[103] g_vColorTint3 16 (10) 0 (00)
[117] g_vNormalTransform0U 104 (68) 0 (00)
[118] g_vNormalTransform0V 108 (6C) 0 (00)
[119] g_vNormalTransform1U 112 (70) 0 (00)
[120] g_vNormalTransform1V 116 (74) 0 (00)
[121] g_vNormalTransform2U 120 (78) 0 (00)
[122] g_vNormalTransform2V 124 (7C) 0 (00)
[123] g_vNormalTransform3U 128 (80) 0 (00)
[124] g_vNormalTransform3V 132 (84) 0 (00) // 36
WRITESEQ[1] dest control
[ 81] g_tColor0 0 (00) 0 (00)
[ 82] g_tColor1 1 (01) 0 (00)
[ 83] g_tColor2 2 (02) 0 (00)
[ 84] g_tColor3 3 (03) 0 (00)
[ 6] DefaultSamplerState 0 (00) 0 (00)
[ 5] CullMode _ (FF) _ (FF)
[ 17] StencilEnable _ (FF) _ (FF)
[ 20] StencilRef _ (FF) _ (FF)
[ 19] StencilReadMask _ (FF) _ (FF)
[ 18] StencilFunc _ (FF) _ (FF)
[ 2] BackStencilFunc _ (FF) _ (FF) // 11
[100] g_vColorTint0 4 (04) 0 (00)
[101] g_vColorTint1 8 (08) 0 (00)
[102] g_vColorTint2 12 (0C) 0 (00)
[103] g_vColorTint3 16 (10) 0 (00) // 15
WRITESEQ[2] dest control
[ 81] g_tColor0 0 (00) 0 (00)
[ 82] g_tColor1 1 (01) 0 (00)
[ 83] g_tColor2 2 (02) 0 (00)
[ 84] g_tColor3 3 (03) 0 (00)
[ 85] g_tNormal0 6 (06) 0 (00)
[ 86] g_tNormal1 7 (07) 0 (00)
[ 87] g_tNormal2 8 (08) 0 (00)
[ 88] g_tNormal3 9 (09) 0 (00)
[ 6] DefaultSamplerState 0 (00) 0 (00)
[ 5] CullMode _ (FF) _ (FF)
[ 17] StencilEnable _ (FF) _ (FF)
[ 20] StencilRef _ (FF) _ (FF)
[ 19] StencilReadMask _ (FF) _ (FF)
[ 18] StencilFunc _ (FF) _ (FF)
[ 2] BackStencilFunc _ (FF) _ (FF) // 15
[ 66] g_flBumpStrength 0 (00) 0 (00)
[100] g_vColorTint0 4 (04) 0 (00)
[101] g_vColorTint1 8 (08) 0 (00)
[102] g_vColorTint2 12 (0C) 0 (00)
[103] g_vColorTint3 16 (10) 0 (00)
[117] g_vNormalTransform0U 104 (68) 0 (00)
[118] g_vNormalTransform0V 108 (6C) 0 (00)
[119] g_vNormalTransform1U 112 (70) 0 (00)
[120] g_vNormalTransform1V 116 (74) 0 (00)
[121] g_vNormalTransform2U 120 (78) 0 (00)
[122] g_vNormalTransform2V 124 (7C) 0 (00)
[123] g_vNormalTransform3U 128 (80) 0 (00)
[124] g_vNormalTransform3V 132 (84) 0 (00) // 28
Dynamic (D-Param) configurations (4 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_SFM_LIGHTING(sfm_l), D_NORMAL_MAP(nor_m), D_ALLOW_PARALLAX(all_p), D_WORLDSPACE_TEXCOORDS(wor_t)
D_SPECULAR_GBUFFER_DISABLED(sgd), D_WRITE_WATER_FOG_TO_DEST_ALPHA(wwftd), D_FORCE_FOG_IN_FORWARD(ffif)
D_GLOBAL_LIGHT_SHADOWS(gls)
sfm_l nor_m all_p wor_t sgd wwftd ffif gls
[00] _ _ _ _ _ _ _ _ WRITESEQ[1] VULKAN[0] //source/0
[01] _ 1 _ _ _ _ _ _ WRITESEQ[2] VULKAN[1] //source/1
[08] _ _ _ _ 1 _ _ _ WRITESEQ[1] VULKAN[2] //source/2
[09] _ 1 _ _ 1 _ _ _ WRITESEQ[2] VULKAN[3] //source/3
// configuration states (128), trailing summary
256 256 _ _ _ _ _ _ 256 256 _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
source bytes/flags
------------------
20 // possible control byte (32) or flags (00100000)
02 // values seen (0,1,2)
00 // always 0
00 // always 0
1 // values seen 0,1
4 // nr of source files
0 // values seen 0,1
End blocks
----------
04 00 00 00 // end blocks (4)
block-ref 0
arg0 0
source-ref 0
source-pointer 5
has data (False,False,True)
// data-section 2
00 00 00
00 00 00 00 00 00 00 00 04 04 04 04 04 04 04 04 05 05 05 05 05 05 05 05
00 00 00 00 00 00 00 00 04 04 04 04 04 04 04 04 05 05 05 05 05 05 05 05
00 00 00 00 00 00 00 00 0F 0F 0F 0F 0F 0F 0F 0F 00 00 00 00 00 00 00 00
block-ref 1
arg0 0
source-ref 1
source-pointer 5017
has data (False,False,True)
// data-section 2
00 00 00
00 00 00 00 00 00 00 00 04 04 04 04 04 04 04 04 05 05 05 05 05 05 05 05
00 00 00 00 00 00 00 00 04 04 04 04 04 04 04 04 05 05 05 05 05 05 05 05
00 00 00 00 00 00 00 00 0F 0F 0F 0F 0F 0F 0F 0F 00 00 00 00 00 00 00 00
block-ref 8
arg0 0
source-ref 2
source-pointer 12845
has data (False,False,True)
// data-section 2
00 00 00
00 00 00 00 00 00 00 00 04 04 04 04 04 04 04 04 05 05 05 05 05 05 05 05
00 00 00 00 00 00 00 00 04 04 04 04 04 04 04 04 05 05 05 05 05 05 05 05
00 00 00 00 00 00 00 00 0F 0F 0F 0F 0F 0F 0F 0F 00 00 00 00 00 00 00 00
block-ref 9
arg0 0
source-ref 3
source-pointer 17785
has data (False,False,True)
// data-section 2
00 00 00
00 00 00 00 00 00 00 00 04 04 04 04 04 04 04 04 05 05 05 05 05 05 05 05
00 00 00 00 00 00 00 00 04 04 04 04 04 04 04 04 05 05 05 05 05 05 05 05
00 00 00 00 00 00 00 00 0F 0F 0F 0F 0F 0F 0F 0F 00 00 00 00 00 00 00 00