Хотя хороший совет уже получен, рискну задать еще вопрос.
Я когда-то, очень давно, купил книжку "Язык Си для профессионалов", как было написано в подзаголовке, "по материалам
книги Г.Шилдта". Там описывалось программирование на Си на довольно низком уровне, в том числе графики. Графические
функции реализовывались через прямую запись в видеопамять. Например, там есть такая функция:
Код:
void mempoint(x,y,color_code)
int x,y,color_code;
{
union mask {char c[2]; int i;} bit_mask;
int i, index, bit_position;
unsigned char t;
char xor;
char far *ptr=(char far *)0xB8000000;
bit_mask.i=0xFF3f;
if(x<0 || x>199 || y<0 || y>319) return;
xor=color_code & 128;
color_code=color_code & 127;
bit_position=y%4;
color_code<<=3*(3-bit_position);
bit_mask.i>>=2*bit_position;
index=x*40+(y%4);
if(x%2) index+=8152;
if(!xor) {
t=*(ptr+index) & bit_mask.c[0];
*(ptr+index)=t|color_code;
}
else {
t=*(ptr+index)|(char)0;
*(ptr+index)=t & color_code;
}
}
(в тексте есть еще многочисленные комментарии к различным строкам функции (как наверное и должно быть в учебнике),
которые я опустил). Далее в упомянутой книге объясняется алгоритм Брезенхама и т.д. Я мог бы написать то, что было мне надо,
с помощью Шилдта. Но то, что написано в Шилдте, ориентировано на CGA/EGA, DOS и 8088/8086, что сейчас не используется.
Поэтому у меня такой вопрос: знаете ли вы какое-нибудь пособие, желательно потолще (в смысле попонятнее), где
объясняется программирование графики на Си на низком уровне, применительно к современному оборудованию и ПО? Т.е. что-то
аналогичное книге Шилдта, но для сегодняшнего дня?
(Правда, сейчас я, видимо, для решения первоначальной проблемы воспользуюсь способом с PostScript. Однако должен сказать,
что у меня периодически появляется желание узнать поподробнее, что происходит внутри компьютера вообще. Я даже скачал
несколько книжек, по косвенным признакам неплохих, об ассемблере и системном программировании).
Заранее спасибо. vpb.