Неважно, только что нашел, что я делаю не так:
НЕВЕРНО
_buffer.uploadFromByteArray(_dataBytes, 0, 0, _dataBytes.length >> 2);
Сначала я делил на 4 (битовое смещение дважды одинаково), потому что я, хотя число байтов на индекс составляло 4 байта. Нет ах! Некорректное!
ByteArrays для целей IndexBuffer3D должен быть записан с writeShort()
, так как он использует 16-битные числа вместо 32-битных. Поэтому он использует только 2 байта для индексов.
ПРАВИЛЬНО
_buffer.uploadFromByteArray(_dataBytes, 0, 0, _dataBytes.length >> 1);
Надеюсь, это прояснит это для других пользователей Stage3D! :)