Fixed packed rendering.

This commit is contained in:
2025-03-04 12:17:13 -06:00
parent f19636edb1
commit 04eb4736d8
9 changed files with 21 additions and 28 deletions

View File

@ -6,17 +6,16 @@
#define PACKED_U8_PER_UI 4
#define PACKED_U8_PER_UVEC4 PACKED_U8_PER_UI * 4
uint packedGetU8(uint position, uint data) {
return (data >> (position * 8u)) & 0xFFu;
uint packedGetU8(uint position, uvec4 data) {
uint subData = data[position / 4u];
return (subData >> (position * 8u)) & 0xFFu;
}
uint packedGetU8FromVEC4(uint position, vec4 data) {
return packedGetU8(position, uint(data[position / 4u]));
}
int packedGetI8(uint position, uvec4 data) {
uint subData = data[position / 4u];
int packedGetI8(uint position, uint data) {
int shift = int(position * 8u);
return int(data << (24 - shift)) >> 24;
return int(subData << (24 - shift)) >> 24;
}
uint packedArrayGetU8IndexFromUVEC4Array(uint u8ArrayIndex) {