Skip to content

Commit 3335c09

Browse files
fix(vtfpp): UVLX now ignores the alpha channel
1 parent f985f47 commit 3335c09

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

include/vtfpp/ImageFormats.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -513,6 +513,7 @@ namespace ImageFormatDetails {
513513
return true;
514514
case BGRX8888:
515515
case BGRX5551:
516+
case UVLX8888:
516517
case RGBX8888:
517518
return false;
518519
default:

src/vtfpp/ImageConversion.cpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,7 @@ namespace {
3838
switch (format) {
3939
using enum ImageFormat;
4040
case RGBA8888:
41-
case RGBX8888:
4241
case UVWQ8888:
43-
case UVLX8888:
4442
return CMP_FORMAT_RGBA_8888;
4543
case ABGR8888:
4644
return CMP_FORMAT_ABGR_8888;
@@ -102,8 +100,10 @@ namespace {
102100
case BGRX5551:
103101
case BGRA4444:
104102
case BGRA5551:
103+
case UVLX8888:
105104
case EMPTY:
106105
case BGRA1010102:
106+
case RGBX8888:
107107
return CMP_FORMAT_Unknown;
108108
}
109109
return CMP_FORMAT_Unknown;
@@ -114,7 +114,6 @@ namespace {
114114
using enum ImageFormat;
115115
case RGBA8888:
116116
case UVWQ8888:
117-
case UVLX8888:
118117
case RGBA16161616:
119118
case RGBA16161616F:
120119
case RGBA32323232F:
@@ -161,6 +160,7 @@ namespace {
161160
case BGRX5551:
162161
case BGRA4444:
163162
case BGRA5551:
163+
case UVLX8888:
164164
case EMPTY:
165165
case RGBA1010102:
166166
case BGRA1010102:
@@ -268,7 +268,7 @@ namespace {
268268
return {};
269269
}
270270

271-
if (format == ImageFormat::RGBA8888 || format == ImageFormat::UVWQ8888 || format == ImageFormat::UVLX8888) {
271+
if (format == ImageFormat::RGBA8888 || format == ImageFormat::UVWQ8888) {
272272
return {imageData.begin(), imageData.end()};
273273
}
274274

@@ -311,6 +311,7 @@ namespace {
311311
VTFPP_CASE_CONVERT_AND_BREAK(BGRX5551, VTFPP_REMAP_TO_8(pixel.r, 5), VTFPP_REMAP_TO_8(pixel.g, 5), VTFPP_REMAP_TO_8(pixel.b, 5), 0xff);
312312
VTFPP_CASE_CONVERT_AND_BREAK(BGRA4444, VTFPP_REMAP_TO_8(pixel.r, 4), VTFPP_REMAP_TO_8(pixel.g, 4), VTFPP_REMAP_TO_8(pixel.b, 4), VTFPP_REMAP_TO_8(pixel.a, 4));
313313
VTFPP_CASE_CONVERT_AND_BREAK(UV88, pixel.u, pixel.v, 0, 0xff);
314+
VTFPP_CASE_CONVERT_AND_BREAK(UVLX8888, pixel.u, pixel.v, pixel.l, 0xff);
314315
VTFPP_CASE_CONVERT_AND_BREAK(RGBX8888, pixel.r, pixel.g, pixel.b, 0xff);
315316
VTFPP_CASE_CONVERT_AND_BREAK(R8, pixel.r, 0, 0, 0xff);
316317
default: SOURCEPP_DEBUG_BREAK; break;
@@ -377,6 +378,7 @@ namespace {
377378
VTFPP_CASE_CONVERT_AND_BREAK(BGRX5551, {VTFPP_REMAP_FROM_8(pixel.b, 5), VTFPP_REMAP_FROM_8(pixel.g, 5), VTFPP_REMAP_FROM_8(pixel.r, 5), 0x1});
378379
VTFPP_CASE_CONVERT_AND_BREAK(BGRA4444, {VTFPP_REMAP_FROM_8(pixel.b, 4), VTFPP_REMAP_FROM_8(pixel.g, 4), VTFPP_REMAP_FROM_8(pixel.r, 4), VTFPP_REMAP_FROM_8(pixel.a, 4)});
379380
VTFPP_CASE_CONVERT_AND_BREAK(UV88, {pixel.r, pixel.g});
381+
VTFPP_CASE_CONVERT_AND_BREAK(UVLX8888, {pixel.r, pixel.g, pixel.b});
380382
VTFPP_CASE_CONVERT_AND_BREAK(RGBX8888, {pixel.r, pixel.g, pixel.b, 0xff});
381383
VTFPP_CASE_CONVERT_AND_BREAK(R8, {pixel.r});
382384
default: SOURCEPP_DEBUG_BREAK; break;

0 commit comments

Comments
 (0)