Closed ProjectPhysX closed 1 year ago
As-is, .png export only supports the 3-channel .png format in favor of smaller file size. But you can easily change that:
1) in src/defines.hpp, set GRAPHICS_BACKGROUND_COLOR
to 0xFF000000
2) in src/utilities.hpp starting at line 4133, replace the entire write_png(...)
function with this code:
inline void write_png(const string& filename, const Image* image) {
create_folder(filename);
uchar* data = new uchar[4u*image->length()];
for(uint i=0u; i<image->length(); i++) {
const int color = image->color(i);
data[4u*i ] = (color>>16)&255;
data[4u*i+1u] = (color>> 8)&255;
data[4u*i+2u] = color &255;
data[4u*i+3u] = 255-((color>>24)&255);
}
lodepng::encode(create_file_extension(filename, ".png"), data, image->width(), image->height(), LCT_RGBA);
delete[] data;
}
How to get a transparent background in exported .png images?