У меня есть программа на C и SDL2 с массивом пикселей:
Uint32 *pixels = NULL;
pixels = (Uint32 *) malloc (sizeof(Uint32)*(Uint32)windowWidth*(Uint32)windowHeight);
memset(pixels, 255, (Uint32)windowWidth*(Uint32)windowHeight*sizeof(Uint32));
С помощью memset установка второго параметра «255» устанавливает все пиксели в белый цвет. Каждое другое число ниже этого устанавливает для пикселей оттенок серого. Как установить для этих пикселей реальный цвет?
Я использую этот массив пикселей, чтобы установить цвет экрана с помощью текстуры, среди прочего. Текстура имеет формат пикселей ARGB8888, поэтому шестнадцатеричное значение четырех цветовых каналов должно работать, не так ли?
SDL_UpdateTexture(texture, NULL, pixels, (int)((Uint32)windowWidth * sizeof(Uint32)));
Я пытался использовать шестнадцатеричный код, такой как 0xFFCC00FF, но это просто устанавливает его в белый цвет.