From b6eefd9e23788a44aebe2736d73de238d6bd0a96 Mon Sep 17 00:00:00 2001 From: David Rose Date: Thu, 20 Mar 2003 14:56:48 +0000 Subject: [PATCH] use alpha channel if alpha image has it --- panda/src/gobj/texture.cxx | 14 +++++++++++--- pandatool/src/egg-palettize/imageFile.cxx | 14 +++++++++++--- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/panda/src/gobj/texture.cxx b/panda/src/gobj/texture.cxx index 2ef348be33..d811cce29f 100644 --- a/panda/src/gobj/texture.cxx +++ b/panda/src/gobj/texture.cxx @@ -246,9 +246,17 @@ read(const Filename &fullpath, const Filename &alpha_fullpath) { // Make the original image a 4-component image image.add_alpha(); - 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_gray(x, y)); + if (alpha_image.has_alpha()) { + 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)); + } + } + } else { + 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_gray(x, y)); + } } } diff --git a/pandatool/src/egg-palettize/imageFile.cxx b/pandatool/src/egg-palettize/imageFile.cxx index ca08a74e29..020c9de016 100644 --- a/pandatool/src/egg-palettize/imageFile.cxx +++ b/pandatool/src/egg-palettize/imageFile.cxx @@ -293,9 +293,17 @@ read(PNMImage &image) const { } image.add_alpha(); - for (int y = 0; y < image.get_y_size(); y++) { - for (int x = 0; x < image.get_x_size(); x++) { - image.set_alpha(x, y, alpha_image.get_gray(x, y)); + if (alpha_image.has_alpha()) { + for (int y = 0; y < image.get_y_size(); y++) { + for (int x = 0; x < image.get_x_size(); x++) { + image.set_alpha(x, y, alpha_image.get_alpha(x, y)); + } + } + } else { + for (int y = 0; y < image.get_y_size(); y++) { + for (int x = 0; x < image.get_x_size(); x++) { + image.set_alpha(x, y, alpha_image.get_gray(x, y)); + } } } }