![]()  | 
  
    Jolt Physics
    
   A multi core friendly Game Physics Engine 
   | 
 
#include <TriangleCodecIndexed8BitPackSOA4Flags.h>
Classes | |
| class | DecodingContext | 
| This class is used to decode and decompress triangle data packed by the EncodingContext.  More... | |
| class | EncodingContext | 
| This class is used to encode and compress triangle data into a byte buffer.  More... | |
| struct | TriangleBlock | 
| A block of 4 triangles.  More... | |
| struct | TriangleBlockHeader | 
| A triangle header, will be followed by one or more TriangleBlocks.  More... | |
| class | TriangleHeader | 
| class | ValidationContext | 
| This class is used to validate that the triangle data will not be degenerate after compression.  More... | |
| struct | VertexData | 
| A single packed vertex.  More... | |
Public Types | |
| enum | EComponentData : uint32 { COMPONENT_BITS = 21 , COMPONENT_MASK = (1 << COMPONENT_BITS) - 1 } | 
| Amount of bits per component.  More... | |
| enum | EVertexXY : uint32 { COMPONENT_X = 0 , COMPONENT_Y1 = COMPONENT_BITS , COMPONENT_Y1_BITS = 32 - COMPONENT_BITS } | 
| Packed X and Y coordinate.  More... | |
| enum | EVertexZY : uint32 { COMPONENT_Z = 0 , COMPONENT_Y2 = COMPONENT_BITS , COMPONENT_Y2_BITS = 31 - COMPONENT_BITS } | 
| Packed Z and Y coordinate.  More... | |
Static Public Attributes | |
| static constexpr int | TriangleHeaderSize = sizeof(TriangleHeader) | 
| Size of the header (an empty struct is always > 0 bytes so this needs a separate variable)  More... | |
| static constexpr bool | ChangesOffsetOnPack = false | 
| If this codec could return a different offset than the current buffer size when calling Pack()  More... | |
Store vertices in 64 bits and indices in 8 bits + 8 bit of flags per triangle like this:
TriangleBlockHeader, TriangleBlock (4 triangles and their flags in 16 bytes), TriangleBlock...
Vertices are stored:
VertexData (1 vertex in 64 bits), VertexData...
They're compressed relative to the bounding box as provided by the node codec.
      
  | 
  staticconstexpr | 
If this codec could return a different offset than the current buffer size when calling Pack()
      
  | 
  staticconstexpr | 
Size of the header (an empty struct is always > 0 bytes so this needs a separate variable)