Changes

298 bytes added ,  19:52, 26 February 2013
no edit summary
Line 149: Line 149:  
|-
 
|-
 
| 31
 
| 31
| 1 = indices data-type GL_UNSIGNED_SHORT, 0 = GL_UNSIGNED_BYTE.
+
| 0 = indices data-type GL_UNSIGNED_BYTE, 1 = GL_UNSIGNED_SHORT.  
 
|}
 
|}
   Line 161: Line 161:  
|-
 
|-
 
| 0x1
 
| 0x1
| Physical address, relative to the base address. When writing each entry: <nowiki>value |= entval << (index * 4)</nowiki>.
+
| Every 4 bits is used for specifying the array data-type and size for each entry.
 
|-
 
|-
 
| 0x2
 
| 0x2
Line 204: Line 204:  
| Vertex array
 
| Vertex array
 
|}
 
|}
 +
 +
===== Array data-type/size values =====
 +
{| class="wikitable" border="1"
 +
!  Value
 +
!  GL type
 +
|-
 +
| 0x0 + ((size-1)*4)
 +
| GL_BYTE
 +
|-
 +
| 0x1 + ((size-1)*4)
 +
| GL_UNSIGNED_BYTE
 +
|-
 +
| 0x2 + ((size-1)*4)
 +
| GL_UNSIGNED_SHORT/GL_SHORT
 +
|-
 +
| 0x3 + ((size-1)*4)
 +
| GL_FLOAT
 +
|}
 +
 +
These size and data-type field values are set by gl*Pointer(). Size is 1-4.
    
=== Parameter structure for CmdID 0x801F02BB ===
 
=== Parameter structure for CmdID 0x801F02BB ===