Buffer.setarrayaccess

From GiderosMobile

Available since: Gideros 2025.2
Class: buffer_luau

Description

Sets the buffer array access.

buffer.setarrayaccess(b,dataType,dim2,dim3)

With setarrayaccess buffers can be used just like arrays. This makes accessing buffer values as an array both easier and faster.

dataType can be s8,u8,s16,u16,s32,u32,f32 and f64 (for signed int/unsigned int/float types with their bit size).

width and height allow indexing a buffer with a vector. In that case the buffer index becomes z*dim3+y*dim2+x.

Parameters

b: (buffer) the buffer
dataType: (string) one of the following:

  • "s8": an integer number in range [-128, 127]
  • "u8": an integer number in range [0, 255]
  • "s16": an integer number in range [-32,768, 32,767]
  • "u16": an integer number in range [0, 65,535]
  • "s32": an integer number in range [-2,147,483,648, 2,147,483,647]
  • "u32": an integer number in range [0, 4,294,967,295]
  • "f32": a single-precision floating-point number
  • "f64": a double-precision floating-point number

dim2: (number) buffer index start
dim3: (number) buffer index end

Example

local str = "Hello Gideros!"
local b = buffer.fromstring(str)
local dataType = "u8"
local dim2, dim3 = 0, 5
buffer.setarrayaccess(b, dataType, dim2, dim3)