GPU/GL Arrays: Difference between revisions

Created page with "This page describes the GPU commands used for OpenGL arrays. ==== Command Sets ==== ===== glDrawElements() ===== {| class="wikitable" border="1" ! Command Ind..."
 
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 ===