@@ -537,10 +537,10 @@ namespace {
537537				for  (int  j = 0 ; j < 8 ; j++) {
538538					newData.push_back ({});
539539				}
540- 				*reinterpret_cast <uint16_t *>(&newData[newData.size () - 8 ]) = static_cast <uint16_t >(*reinterpret_cast <const  float *>(&imageData[i]) * 65535 .f );
541- 				*reinterpret_cast <uint16_t *>(&newData[newData.size () - 6 ]) = static_cast <uint16_t >(*reinterpret_cast <const  float *>(&imageData[i + 4 ]) * 65535 .f );
542- 				*reinterpret_cast <uint16_t *>(&newData[newData.size () - 4 ]) = static_cast <uint16_t >(*reinterpret_cast <const  float *>(&imageData[i + 8 ]) * 65535 .f );
543- 				*reinterpret_cast <uint16_t *>(&newData[newData.size () - 2 ]) = static_cast <uint16_t >(*reinterpret_cast <const  float *>(&imageData[i + 12 ]) * 65535 .f );
540+ 				*reinterpret_cast <uint16_t *>(&newData[newData.size () - 8 ]) = static_cast <uint16_t >(std::clamp ( *reinterpret_cast <const  float *>(&imageData[i]),  0 . f ,  1 . f ) * 65535 .f );
541+ 				*reinterpret_cast <uint16_t *>(&newData[newData.size () - 6 ]) = static_cast <uint16_t >(std::clamp ( *reinterpret_cast <const  float *>(&imageData[i + 4 ]),  0 . f ,  1 . f ) * 65535 .f );
542+ 				*reinterpret_cast <uint16_t *>(&newData[newData.size () - 4 ]) = static_cast <uint16_t >(std::clamp ( *reinterpret_cast <const  float *>(&imageData[i + 8 ]),  0 . f ,  1 . f ) * 65535 .f );
543+ 				*reinterpret_cast <uint16_t *>(&newData[newData.size () - 2 ]) = static_cast <uint16_t >(std::clamp ( *reinterpret_cast <const  float *>(&imageData[i + 12 ]),  0 . f ,  1 . f ) * 65535 .f );
544544			}
545545			break ;
546546		default :
@@ -568,10 +568,10 @@ namespace {
568568	std::vector<std::byte> newData;
569569	newData.reserve (imageData.size () / (ImageFormatDetails::bpp (ImageFormat::RGBA32323232F) / 8 ) * (ImageFormatDetails::bpp (ImageFormat::RGBA8888) / 8 ));
570570	for  (int  i = 0 ; i < imageData.size (); i += 16 ) {
571- 		newData.push_back (static_cast <std::byte>(std::clamp (*reinterpret_cast <const  float *>(&imageData[i]) *  255 , 0 .f , 255 .f )));
572- 		newData.push_back (static_cast <std::byte>(std::clamp (*reinterpret_cast <const  float *>(&imageData[i + 4 ]) *  255 , 0 .f , 255 .f )));
573- 		newData.push_back (static_cast <std::byte>(std::clamp (*reinterpret_cast <const  float *>(&imageData[i + 8 ]) *  255 , 0 .f , 255 .f )));
574- 		newData.push_back (static_cast <std::byte>(std::clamp (*reinterpret_cast <const  float *>(&imageData[i + 12 ]) *  255 , 0 .f , 255 .f )));
571+ 		newData.push_back (static_cast <std::byte>(std::clamp (*reinterpret_cast <const  float *>(&imageData[i]), 0 .f , 1 .f ) *  255 ));
572+ 		newData.push_back (static_cast <std::byte>(std::clamp (*reinterpret_cast <const  float *>(&imageData[i + 4 ]), 0 .f , 1 .f ) *  255 ));
573+ 		newData.push_back (static_cast <std::byte>(std::clamp (*reinterpret_cast <const  float *>(&imageData[i + 8 ]), 0 .f , 1 .f ) *  255 ));
574+ 		newData.push_back (static_cast <std::byte>(std::clamp (*reinterpret_cast <const  float *>(&imageData[i + 12 ]), 0 .f , 1 .f ) *  255 ));
575575	}
576576	return  newData;
577577}
0 commit comments