mirror of
https://github.com/wheremyfoodat/Panda3DS.git
synced 2025-04-12 09:09:47 +12:00
[PICA] Implement RG8 textures
This commit is contained in:
parent
16d555cf34
commit
84db6052b3
2 changed files with 11 additions and 1 deletions
|
@ -80,5 +80,4 @@ struct Texture {
|
||||||
// TODO: Make hasAlpha a template parameter
|
// TODO: Make hasAlpha a template parameter
|
||||||
u32 getTexelETC(bool hasAlpha, u32 u, u32 v, u32 width, const void* data);
|
u32 getTexelETC(bool hasAlpha, u32 u, u32 v, u32 width, const void* data);
|
||||||
u32 decodeETC(u32 alpha, u32 u, u32 v, u64 colourData);
|
u32 decodeETC(u32 alpha, u32 u, u32 v, u64 colourData);
|
||||||
|
|
||||||
};
|
};
|
|
@ -131,6 +131,17 @@ u32 Texture::decodeTexel(u32 u, u32 v, Texture::Formats fmt, const void* data) {
|
||||||
return (0xff << 24) | (b << 16) | (g << 8) | r;
|
return (0xff << 24) | (b << 16) | (g << 8) | r;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case Formats::RG8: {
|
||||||
|
u32 offset = getSwizzledOffset(u, v, size.u(), 2);
|
||||||
|
auto ptr = static_cast<const u8*>(data);
|
||||||
|
|
||||||
|
constexpr u8 b = 0;
|
||||||
|
u8 g = ptr[offset];
|
||||||
|
u8 r = ptr[offset + 1];
|
||||||
|
|
||||||
|
return (0xff << 24) | (b << 16) | (g << 8) | r;
|
||||||
|
}
|
||||||
|
|
||||||
case Formats::RGB8: {
|
case Formats::RGB8: {
|
||||||
u32 offset = getSwizzledOffset(u, v, size.u(), 3);
|
u32 offset = getSwizzledOffset(u, v, size.u(), 3);
|
||||||
auto ptr = static_cast<const u8*>(data);
|
auto ptr = static_cast<const u8*>(data);
|
||||||
|
|
Loading…
Add table
Reference in a new issue