mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-04 10:54:24 -04:00
Fix regression with incorrect scaling of 16-bit PNG files
This commit is contained in:
parent
0416c6dbec
commit
ba6529811d
@ -90,12 +90,6 @@ clear(int x_size, int y_size, int num_channels,
|
|||||||
_type = type;
|
_type = type;
|
||||||
_has_read_size = false;
|
_has_read_size = false;
|
||||||
|
|
||||||
if (maxval == 0) {
|
|
||||||
_inv_maxval = 0.0f;
|
|
||||||
} else {
|
|
||||||
_inv_maxval = 1.0f / (float)maxval;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (has_alpha()) {
|
if (has_alpha()) {
|
||||||
allocate_alpha();
|
allocate_alpha();
|
||||||
memset(_alpha, 0, sizeof(xelval) * _y_size * _x_size);
|
memset(_alpha, 0, sizeof(xelval) * _y_size * _x_size);
|
||||||
@ -589,7 +583,6 @@ set_color_space(ColorSpace color_space) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
_maxval = 65535;
|
_maxval = 65535;
|
||||||
_inv_maxval = 1.f / 65535.f;
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@ -781,12 +774,6 @@ set_maxval(xelval maxval) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
_maxval = maxval;
|
_maxval = maxval;
|
||||||
if (maxval == 0) {
|
|
||||||
_inv_maxval = 0.0f;
|
|
||||||
} else {
|
|
||||||
_inv_maxval = 1.0f / (float)maxval;
|
|
||||||
}
|
|
||||||
|
|
||||||
setup_encoding();
|
setup_encoding();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2136,9 +2123,16 @@ setup_rc() {
|
|||||||
// the image has an alpha channel, so that to_val and
|
// the image has an alpha channel, so that to_val and
|
||||||
// from_val will work correctly (and possibly more
|
// from_val will work correctly (and possibly more
|
||||||
// efficiently).
|
// efficiently).
|
||||||
|
// Should be called after any call to set_maxval.
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
void PNMImage::
|
void PNMImage::
|
||||||
setup_encoding() {
|
setup_encoding() {
|
||||||
|
if (_maxval == 0) {
|
||||||
|
_inv_maxval = 0.0f;
|
||||||
|
} else {
|
||||||
|
_inv_maxval = 1.0f / (float)_maxval;
|
||||||
|
}
|
||||||
|
|
||||||
if (has_alpha()) {
|
if (has_alpha()) {
|
||||||
switch (_color_space) {
|
switch (_color_space) {
|
||||||
case CS_linear:
|
case CS_linear:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user