Forml. Canvas. Ellipse (0, 0, 100, 100);
И
Printer. BeginDoc;
Printer. Canvas. Ellipse (0, 0, 100, 100);
Printer. EndDoc;
рисуют один и тот же круг как на поверхности формы, так и в распечатываемом документе, т. e. на различных устройствах, причем если мы будем выводить разноцветную картинку на монохромный принтер, он справится с этой задачей, передавая цвета оттенками серого.
Даже если мы рисуем только на поле формы, мы имеем дело с различными устройствами - нам неизвестно, какова графическая плата компьютера и каковы характеристики текущей установки настроек экрана. Например, имея в своем распоряжении более 16 миллионов цветов, приложение не заботится об отображении этой богатой палитры на экране, располагающем всего 256 цветами. Такие вопросы приложение перекладывает на плечи операционной системы, решающей их посредством использования драйверов устройств
Для того чтобы воспользоваться функциями воспроизведения Windows, приложению необходимо только указать ссылку на контекст устройства, содержащий средства и характеристики устройства вывода.
Справочный файл Win32 Programmer's Reference фирмы Microsoft, поставляемый в составе Delphi, o контексте устройства сообщает следующее "Контекст устройства является структурой, которая определяет комплект графических объектов и связанных с ними атрибутов и графические режимы, влияющие на вывод Графический объект включает в себя карандаш для изображения линии, кисть для закраски и заполнения, растр для копирования или прокрутки частей экрана, палитру для определения комплекта доступных цветов, области для отсечения и других операций, маршрут для операций рисования"
В OpenGL имеется аналогичное ссылке на контекст устройства понятие ссылка на контекст воспроизведения
Графическая система OpenGL, как и любое другое приложение Windows (хоть и размещенное в DLL), также нуждается в ссылке на устройство, на которое будет осуществляться вывод Это специальная ссылка на контекст воспроизведения - величина типа HGLRC (Handle openGL Rendering Context, ссылка на контекст воспроизведения OpenGL).
Замечание
Контекст устройства Windows содержит информацию, относящуюся к графическим компонентам GDI, a контекст воспроизведения содержит информацию, относящуюся к OpenGL, т e играет такую же роль, что и контекст устройства для GDI
В частности, упомянутые контексты являются хранилищами состояния системы, например, хранят информацию о текущем цвете карандаша