Рендеринг пикселей из массива значений RGB в SDL 1.2?
Я сейчас работаю над эмулятором NES и не могу понять, как визуализировать пиксели. Я использую трехмерный массив для хранения значения RGB каждого пикселя. Определение массива выглядит следующим образом для размера экрана 256 x 224:
byte screenData[224][256][3];
Например,[0][0][0]
содержит синее значение,[0][0][1]
содержит зеленые значения и[0][0][2]
содержит красное значение пикселя в позиции экрана[0][0]
.
Когда флаг vblank поднимается высоко, мне нужно визуализировать экран. Когда SDL переходит к визуализации экрана, массив screenData будет заполнен значениями RGB для каждого пикселя. Я смог найти функцию с именемSDL_CreateRGBSurfaceFrom
казалось, это может сработать для того, что я хочу сделать. Тем не менее, все примеры, которые я видел, используют одномерные массивы для значений RGB, а не трехмерный массив.
Что было бы для меня лучшим способом для рендеринга моих пикселей? Было бы также неплохо, если бы функция позволяла мне как-то изменять размер поверхности, чтобы мне не приходилось использовать размер окна 256 x 224.