MappedObject
for API details and org.lwjgl.test.mapped.TestMappedObject for examples.
The instance fields of the annotated class should only be limited to primitive types or
java.. Static fields are supported and they can have any type.
The purpose of mapped objects is to reduce the memory requirements required for the type of data that are often used in OpenGL/OpenCL programming, while at the same time enabling clean Java code. There are also performance benefits related to not having to copy data between buffers and Java objects and the removal of bounds checking when accessing buffer data.
| Modifier and Type | Method and Description |
|---|---|
| public int | |
| public boolean | Returns: true if automatic byte offset generation is required.When autoGenerateOffsets is true, byte offsets of the mapped fields will be generated automatically. |
| public boolean | Returns: if cache-line padding should be appliedWhen true, SIZEOF will be increased (if necessary) so that it's a multiple of the CPU cache line size. |
| public int |
| align | back to summary |
|---|---|
| public int align() The mapped data memory alignment, in bytes.
| |
| autoGenerateOffsets | back to summary |
|---|---|
| public boolean autoGenerateOffsets() When autoGenerateOffsets is true, byte offsets of the mapped fields will
be generated automatically. This is convenient for packed data. For manually
aligned data, autoGenerateOffsets must be set to false and the user needs
to manually specify byte offsets using the
| |
| cacheLinePadding | back to summary |
|---|---|
| public boolean cacheLinePadding() When true, SIZEOF will be increased (if necessary) so that it's a multiple of the CPU cache line size.
Additionally,
Cannot be used with
| |
| padding | back to summary |
|---|---|
| public int padding() The number of bytes to add to the total byte size.
SIZEOF will be calculated as
Cannot be used with
| |