LINUX.ORG.RU

SDL


0

0
Начинаю изучать SDL читаю док. с офф сайта в одном из примеров рисования точки присутствует строчка
bufp = (Uint8 *)screen->pixels + y*screen->pitch + x;
объясните пожалуйста что здесь происходит
anonymous
> bufp = (Uint8 *)screen->pixels + y*screen->pitch + x;

Судя по всему screen->pitch содержит ширину окна, screen->pixels - это массив байт (Uint8).

Соответственно тут bufp присваивается указатель на точку с координатами (x, y). Нарисовать ее можно так: bufp[0] = цвет.

PS: SDL в глаза не видел, писал в режиме телепатии :)

alexru ★★★★
()
pitch - это кол-во байт, необходимое для перехода на следующую строчку в эту же позицию по X. Pitch не обязательно равен видимой ширине, т.к. ради оптимизации доступа видеокарта в режиме 800x600 может иметь pitch 1024.
mv ★★★★★
()
Ответ на: комментарий от alexru
> PS: SDL в глаза не видел, писал в режиме телепатии :)

А это общая особенность. В Vesa и DirectDraw всё то же самое.

mv ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.