#include #include #include #include #include #include Uint32 mixSDLColors(Uint32 back, Uint32 front, SDL_PixelFormat *fmt, float alpha) { Uint32 ch1, ch2, sum = 0; // mask = fmt->Rmask; ch1 = back & fmt->Rmask; ch2 = front & fmt->Rmask; // sum += ch2; sum += (ch1 + ch2) >> 1; printf("%i", sum); ch1 = back & fmt->Gmask; ch2 = front & fmt->Gmask; // sum += ch2; sum += (ch1 + ch2) >> 1; printf("%i", sum); ch1 = back & fmt->Bmask; ch2 = front & fmt->Bmask; // sum += ch2; sum += (ch1 + ch2) >> 1; printf("%i", sum); return sum; } int main(){ SDL_Window *window = NULL; SDL_Surface *s = NULL; // SDL_Renderer *renderer = NULL; SDL_Init(SDL_INIT_VIDEO); window = SDL_CreateWindow("test", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 960, 512, 0); s = SDL_GetWindowSurface(window); Uint32 a = 0; // 0x000000 Uint32 b = pow(2, 24) - 1; // 0xffffff printf("0x808080 = %i", mixSDLColors(a, b, s->format, 0)); // renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED); // SDL_Texture *sky = NULL; // sky = IMG_LoadTexture(renderer, "/home/pupkich/Gameproj/textures/toxicclouds512.bmp"); // SDL_RenderCopy(renderer, sky, NULL, NULL); // SDL_RenderPresent(renderer); // SDL_DestroyTexture(sky); // SDL_Delay(200); }