mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-02 09:52:27 -04:00
Fix a rash of asserts from PNMImage::get_alpha_val
-- originally the code had an explicit check for a missing alpha channel, that went away in 22120524a2f9a1f9330cdfa2b35bbcdf15d721d4
This commit is contained in:
parent
c292d3bc65
commit
e8fca5668c
@ -3071,10 +3071,16 @@ do_read_one(CData *cdata, const Filename &fullpath, const Filename &alpha_fullpa
|
|||||||
|
|
||||||
if (alpha_file_channel == 4 ||
|
if (alpha_file_channel == 4 ||
|
||||||
(alpha_file_channel == 2 && alpha_image.get_num_channels() == 2)) {
|
(alpha_file_channel == 2 && alpha_image.get_num_channels() == 2)) {
|
||||||
// Use the alpha channel.
|
|
||||||
for (int x = 0; x < image.get_x_size(); x++) {
|
if (!alpha_image.has_alpha()) {
|
||||||
for (int y = 0; y < image.get_y_size(); y++) {
|
gobj_cat.error()
|
||||||
image.set_alpha(x, y, alpha_image.get_alpha(x, y));
|
<< alpha_fullpath.get_basename() << " has no channel " << alpha_file_channel << ".\n";
|
||||||
|
} else {
|
||||||
|
// Use the alpha channel.
|
||||||
|
for (int x = 0; x < image.get_x_size(); x++) {
|
||||||
|
for (int y = 0; y < image.get_y_size(); y++) {
|
||||||
|
image.set_alpha(x, y, alpha_image.get_alpha(x, y));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
cdata->_alpha_file_channel = alpha_image.get_num_channels();
|
cdata->_alpha_file_channel = alpha_image.get_num_channels();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user