소스 검색

REVIEWED: ImageAlphaPremultiply(), optimization

pull/1274/head
raysan5 5 년 전
부모
커밋
82f7dd017e
1개의 변경된 파일13개의 추가작업 그리고 4개의 파일을 삭제
  1. +13
    -4
      src/textures.c

+ 13
- 4
src/textures.c 파일 보기

@ -1182,10 +1182,19 @@ void ImageAlphaPremultiply(Image *image)
for (int i = 0; i < image->width*image->height; i++) for (int i = 0; i < image->width*image->height; i++)
{ {
alpha = (float)pixels[i].a/255.0f;
pixels[i].r = (unsigned char)((float)pixels[i].r*alpha);
pixels[i].g = (unsigned char)((float)pixels[i].g*alpha);
pixels[i].b = (unsigned char)((float)pixels[i].b*alpha);
if (pixels[i].a == 0)
{
pixels[i].r = 0;
pixels[i].g = 0;
pixels[i].b = 0;
}
else if (pixels[i].a < 255)
{
alpha = (float)pixels[i].a/255.0f;
pixels[i].r = (unsigned char)((float)pixels[i].r*alpha);
pixels[i].g = (unsigned char)((float)pixels[i].g*alpha);
pixels[i].b = (unsigned char)((float)pixels[i].b*alpha);
}
} }
RL_FREE(image->data); RL_FREE(image->data);

불러오는 중...
취소
저장