- •1. Графические данные и их классификация.
- •2. Алгоритмы компьютерной графики.
- •3. Аппаратные средства компьютерной графики.
- •4. Понятие геометрической машины. Структурная схема графической системы.
- •5. Базовая графическая система (бгс). Gks – международный стандарт на бгс.
- •6. Элементарные (базовые) и комбинированные операции на плоскости.
- •7. Элементарные (базовые) и комбинированные операции в пространстве.
- •8. Пространственное вращение вокруг произвольной оси.
- •9. Классификация плоских проекций.
- •10. Ортографическая проекция
- •11. Геометрические построения в диметрической проекции.
- •12. Геометрические построения в изометрической проекции.
- •13. Косоугольные проекции.
- •14. Виды перспективного проецирования.
- •15. Перспективная одноточечная проекция.
- •16. Перспективная двухточечная проекция.
- •17. Перспективная трехточечная проекция.
- •32. Каркасные модели. Модели твердого тела.
- •33. Параметрическое описание пространственных кривых. Модели кривых линий.
- •34. Представление пространственных кривых в форме Эрмита.
- •35. Представление пространственных кривых в форме Безье.
- •36. Кривые Бернштейна-Безье.
- •37. Представление пространственных кривых в сплайновой форме.
- •44.Колориметрия. Законы Грассмана.
- •45.Табличные и библиотечные форматы представления цвета.
- •46. Базовые цветовые модели, ориентированные на аппаратуру.
- •47.Телевизионные цветовые модели.(yiq и yuv)
- •48.Модели цифровой фотографии
- •49. Художественные цветовые модели, или
- •50.Абстрактные цветовые модели cie xyz и cie l*a*b*.
- •51. Модель освещения, используемая для построения реалистических изображений.
- •52.Модель освещения с учетом микрогеометрии поверхностей объектов.
- •53.Учет коэффициента Френеля в модели освещения с учетом микрогеометрии поверхностей объектов.
- •54.Функция распределения микрограней в модели освещения с учетом микрогеометрии поверхностей объектов.
- •55.Функция ослабления света на микрогранях в модели освещения с учетом микрогеометрии поверхностей объектов.
- •56.Моделирование прозрачности и теней.
- •57.Методы трассировки лучей. Алгоритмы прямого хода луча.
- •58.Методы трассировки лучей. Алгоритмы обратного хода луча.
- •59.Построения реалистических изображений методом излучательности.
- •60.Модель закраски Гуро.
- •61.Модель закраски Фонга.
- •62.Алгоритм отсечения лучей.
- •63.Алгоритм двоичного разбиения пространства (bsp-алгоритм).
- •66. Текстурирование объектов
- •67.Классификация методов сжатия графической информации.
- •68.Метод группового кодирования (rle-алгоритм).
- •69.Методы кодирования строк бит переменной длины. Алгоритм Хаффмена и арифметическое кодирование.
- •70.Алгоритмы сжатия со словарем (lz-алгоритмы).
- •71.Алгоритм сжатия jpeg.
- •72.Алгоритм волнового сжатия (вейвлет-преобразование).
- •73.Фрактальная математика и фрактальное сжатие.
- •75.Форматы представления видеоданных: Microsoft riff avi, mpeg-1,2,4, QuickTime
- •9. Форматы mpeg
- •80. Логические устройства стандартной видеосистемы пк
- •81. Современные режимы работы видеосистем
- •82. Организация взаимодействия в современных видеосистемах пк. Аппаратные интерфейсы
- •83. Графические процессоры ati и nVidia
- •84. Ускорение вычислений при помощи технологий sli и CrossFire
- •18. Виды растровой развертки.
- •19. Алгоритм Брезенхема растровой развертки отрезков прямых.
- •20. Алгоритмы Брезенхема растровой развертки окружностей.
- •21. Построчный алгоритм растровой развертки сплошных областей.
- •22. Алгоритм растровой развертки сплошных областей с затравкой.
- •23. Алгоритм отсечения отрезков на плоскости.
- •24. Алгоритмы отсечения многоугольников на плоскости.
- •25. Алгоритмы отсечения в пространстве изображений
- •26. Алгоритмы отсечения в пространстве объектов
- •27. Алгоритмы сортировки по глубине.
- •28. Простейшие алгоритмы масштабирования растровых изображений.
- •29. Масштабирование растровых изображений с использованием форм Безье и в-сплайнов.
- •30. Алгоритмы фильтрации растровых изображений, базирующиеся на свертке.
- •31. Медианная фильтрация растровых изображений.
- •76. Интерфейс Windows gdi
- •77.Интерфейс Microsoft Windows DirectX.
- •78.Интерфейсы Microsoft Windows DirectDraw и DirectAnimation.
- •78.Интерфейс Microsoft Windows Direct3d.
- •79.Интерфейс по стандарту OpenGl.
77.Интерфейс Microsoft Windows DirectX.
Для устранения этого недостатка была разработана библиотека WinG, которая с выходом 32-разрядной оболочки Windows 95 переродилась в Game SDK (Software Development Kit), которая, в свою очередь, была переименована в DirectX. Microsoft DirectX – это набор программных интерфейсов, используемых для управления мультимедийными компонентами компьютера. В состав этих интерфейсов входят: DirectDraw – для быстрого доступа к видеопамяти, DirectSound5 – для вывода аудиоинформации на звуковую плату, DirectInput – для обработки ввода информации с клавиатуры, от мыши или джойстика и Direct3D – ядро поддержки трехмерной графики, используемое совместно с DirectDraw6.
Встроенный непосредственно в ядро операционной системы Microsoft Windows, интерфейс DirectX полностью интегрирован в Windows 98/2000/XP, а также в Microsoft Internet Explorer. Компоненты DirectX могут быть автоматически загружены на компьютер при установке современных игровых и мультимедийных приложений.
Для разработчиков DirectX представляет свой набор программных интерфейсов, использование которых позволяет решить две основные задачи.
Во-первых, DirectX превращает разработанные с его помощью приложения в совместимые с любой (?!) версией Windows и работающие на любом компьютере, где установлена эта операционная система,независимо от типа используемого аппаратного обеспечения. При этом подобные приложения максимально используют возможности компьютера, обеспечивая наилучшую производительность. Это достигается за счет сервисов, предоставляемых низкоуровневыми интерфейсами DirectX Foundation.
Во-вторых , DirectX предоставляет разработчикам возможность абстрагироваться от того или иного типа дисплейного адаптера, звуковой платы или 3D-ускорителя и сосредоточиться на логике работы самой программы.
На рис.10.2 показана архитектура Microsoft DirectX .
Рассмотрим основные компоненты Microsoft DirectX и познако-
мимся с предоставляемыми ими сервисами.
Сервис - это предоставление доступа к каким-либо (мультимедий-
ным) данным или выполнение конкретной функции по обработке этихданных.
Конец 77 вопроса.
78.Интерфейсы Microsoft Windows DirectDraw и DirectAnimation.
DirectAnimation
Данный компонент, входящий в семейство программных интерфейсов Microsoft DirectX , предоставляет в распоряжение разработчиков набор функций для реализации анимации, потокового вывода информации и интеграции различных типов мультимедийных данных – двухмерной векторной графики, трехмерной графики, спрайтов, аудио- и видеофрагментов. Так как интерфейс DirectAnimation реализован как набор СОМ-интерфейсов , его функции доступны из различных программных средств и языков программирования - HTML-разработчики могут использовать DirectAnimation для
анимации элементов Web-страниц;
- можно объединять технологию Dynamic HTML со скриптовыми программами, управляющими объектами DirectAnimation для создания различных мультимедийных эффектов в HTML-документах;
- любые средства разработки и языки программирования, под-
держивающие СОМ-технологии: Java, Visual Basic, Microsoft Visuai
C++, Borland Delphi, могут использоваться для создания интерактивных мультимедийных приложений . На рис. 8.5 показана архитектура DirectAnimation
Входящие в состав DirectAnimation мультимедийные компоненты обеспечивают доступ к функциональности DirectAnimation из скриптовых программ, располагаемых в HTML-документах. Эти мультимедийные компоненты позволяют создавать изображения на основе векторной графики, управлять графическими изображениями, использовать
анимацию и могут быть включены в состав HTML-документов. К мультимедийным компонентам DirectAnimation относятся:- компонент Path для перемещения других объектов по заданной геометрической или сплайновой траектории с возможностью
управления скоростью перемещения, проигрыванием вперед и назад и т.п.;
- компонент Sequencer для создания комплексных последовательностей с использованием компонентов ActiveX, скриптовых программ и Dynamic HTML;
- компонент Sprite для добавления к HTML-документам стати-
ческих и анимированных графических изображений и управления ими;
- компонент Structured Graphics для создания векторной графики и манипуляций с ней.
DirectDraw
Весьма интересное определение DirectDraw можно найти у одного из его яростных противников — FastGraph. Графический пакет Fast-Graph появился довольно давно. В настоящее время существует версия FastGraph, которая поддерживает DirectDraw, но скрывает DirectDrawАРI за своим собственным нестандартным АРI. Тед и Диана Грубер (Tedапd Diana Gruber), создатели и поставщики FastGraph, разместили на своем Web-узле файл, в котором доказывается, что FastGraph лучше DirectDraw.
В числе прочих доводов Груберы заявляют, что DirectDraw представляет «просто механизм блиттинга». Такая формулировка оказывается довольно точной, но чрезмерно упрощенной. Правильнее было бы сказать, что DirectDraw –аппаратно-независимый механизм блиттинга, наделенный некоторыми возможностями программной эмуляции. Главная задача DirectDraw как раз и заключается в том, чтобы по возможности быстро и надежно копировать графические изображения в память видеоустройств (блиттинг).
DirectDraw можно рассматривать и с другой точки зрения – как менеджер управления памятью для графических и видеоповерхностей, обеспечивающий базовый набор функций для мультимедийных приложений, работающих на платформе Microsoft Windows. DirectDraw распределяет блоки памяти и следит за состоянием каждого блока.
Программы могут по своему усмотрению создавать, копировать, изменять и уничтожать такие блоки, причем конкретные подробности этих операций остаются скрытыми от программиста. Такое описание тоже оказывается излишне упрощённым. Во-первых, DirectDraw может использовать не только видеопамять, но и обычную память
(RAM). Кроме того, при проектировании менеджеров памяти основное внимание обычно уделяется надежности, а не быстродействию. При проектировании же DirectDraw главной целью было именно быстродействие.
С технической точки зрения DirectDraw представляет собой переносимый API в сочетании с набором драйверов устройств. В своей работе DirectDraw полностью обходит традиционный графический механизм Windows (интерфейс графических устройств, GDI). GDI завоевал дурную славу своим низким быстродействием, поэтому независимость от него крайне важна для достижения оптимальной скорости. В отличие от традиционной Windows-графики DirectDraw использует прямой доступ к дисплейной памяти и графическим устройствам, обеспечивая при этом полную совместимость с Windows-
приложениями.
На рис.10.6 показано взаимоотношение между DirectDraw , компонентом ядра операционной системы GDI, слоем аппаратной абстракции (HAL) и слоем аппаратной эмуляции (HEL). Как видно из рис.10.6, DirectDraw существует независимо от GDI и оба интерфейса обладают возможностью прямого доступа к графическим устройствам
через аппаратно-независимые слои.
В отличие от GDI , DirectDraw по возможности использует аппаратные функции. Если конкретное устройство не поддерживает требуемых функций, DirectDraw пытается эмулировать их, используя HEL. Нужно отметить, что DirectDraw может предоставлять доступ к поверхностям как к контекстам устройств (Device Context, DC) , что позволяет
использовать функции GDI для работы с поверхностями. DirectDrow поддерживает работу с большим числом дисплейных адаптеров – от простых мониторов до сложных профессиональных устройств . Работая на уровне графических поверхностей , DirectDrow служит базой для высокоуровневых графических функций и интерфейсов . DirectDrow позволяет либо использовать аппаратные возможности ,предоставляемые устройствами , либо эмулировать их при необходимости .