Changes

330 bytes added ,  00:19, 27 February 2014
Line 165: Line 165:  
|  0x18
 
|  0x18
 
|  0x4
 
|  0x4
|  Offset (relative to DVLE start) to unk1 table
+
|  Offset (relative to DVLE start) to uniform table
 
|-
 
|-
 
|  0x1C
 
|  0x1C
 
|  0x4
 
|  0x4
|  Number of entries in unk1 table (each entry is 0x14-byte long)
+
|  Number of entries in uniform table (each entry is 0x14-byte long)
 
|-
 
|-
 
|  0x20
 
|  0x20
Line 228: Line 228:  
|  Offset (relative to DVLE symbol table start) to label's symbol
 
|  Offset (relative to DVLE symbol table start) to label's symbol
 
|-
 
|-
 +
|}
 +
 +
Uniform table entry :
 +
{| class="wikitable" border="1"
 +
|-
 +
!  Offset
 +
!  Size
 +
!  Description
 +
|-
 +
|  0x2
 +
|  0x1
 +
|  Uniform ID
 +
|-
 +
|  0x4
 +
|  0x4
 +
|  x (float24)
 +
|-
 +
|  0x8
 +
|  0x4
 +
|  y (float24)
 +
|-
 +
|  0xC
 +
|  0x4
 +
|  z (float24)
 +
|-
 +
|  0x10
 +
|  0x4
 +
|  w (float24)
 
|}
 
|}
   Line 253: Line 281:  
Each DVLE is associated to an individual shader shader program contained in the binary blob. A single shader binary blob may contain multiple shader programs of the same kind.
 
Each DVLE is associated to an individual shader shader program contained in the binary blob. A single shader binary blob may contain multiple shader programs of the same kind.
   −
The data contained in unk1 table is sent over to the GPU.
+
Each program's constants are stored as vec4 in a uniform table. These are sent over to the GPU when changing to a give program.
373

edits