public int pointerArrayParamASCIIi(CharSequence... strings) {
        int buffersAddress = bufferParam(strings.length << POINTER_SHIFT);
        int lengthsAddress = bufferParam(strings.length << 2);

        for (int i = 0; i < strings.length; i++) {
            ByteBuffer buffer = MemoryUtil.memASCII(strings[i]);

            pointerParam(buffersAddress, i, memAddress(buffer));
            intParam(lengthsAddress, i, buffer.remaining());
        }

        return buffersAddress;
    }
ASCII encodes the specified strings and ensures space for two additional
buffers filled with the lengths and memory addresses of the encoded
strings, respectively. The lengths are 4-bytes integers and the memory
address buffer starts immediately after the lengths buffer.

<p>
The encoded buffers must be later freed with
{@link #pointerArrayFree(int, int)}.</p>

@return the offset to the lengths buffer
jme3-lwjgl3/src/main/java/com/jme3/lwjgl3/utils/APIBuffer.java