Retargetable graphics [1] [2] (сокращенно RTG ) — это API драйвера устройства , в основном используемый сторонним графическим оборудованием для взаимодействия с AmigaOS через набор библиотек . [3] Библиотеки программного обеспечения могут включать программные инструменты для настройки разрешения , цветов экрана, указателей и режимов экрана. Он будет использовать имеющееся оборудование и не будет расширять возможности каким-либо образом.
Amiga OS 3.x intuition.library ограничена 8-битной глубиной отображения , но библиотеки RTG позволяют обрабатывать более высокие глубины, такие как 24 бита; на Amiga есть два общих API: Picasso 96 и CyberGraphX, которые почти совместимы друг с другом. Для работы Picasso 96 и CyberGraphX требуется не менее 4 МБ ОЗУ и процессор 68020 .
Commodore планировала ввести перенацеливаемую графику в будущей версии AmigaOS (4.0), [4] но компания не смогла предоставить такое решение до ее упадка. Таким образом, сторонние производители видеокарт были вынуждены создавать собственные программные слои поверх AmigaOS, несовместимые друг с другом. Большинство этих ранних драйверов видеокарт Amiga имели общие ограничения: совместимость с текущими приложениями поддерживалась путем открытия Workbench (или также других экранов приложений, также известных как «эмуляция Workbench») на видеокарте — обычно в 16 (в AmigaOS 2.x) или 256 цветах (в AmigaOS 3.x); полные функции видеокарты, такие как высокоцветное (15- или 16-битное) и истинное цветовое (24- или 32-битное) отображение, могли использоваться только приложениями, напрямую запрограммированными для такого программного обеспечения драйвера. Самые ранние из этих решений, такие как библиотеки Grafexa и SAGE [5], могли отображать только свои собственные приложения на видеокарте без какой-либо поддержки «эмуляции Workbench». Примерами других драйверов являются EGS, Merlin/Domino, [6] Omnibus, [7] Retina [8] (который должен даже отображать Workbench в 24-битном цвете), [9] Graffity, [10] Picasso и ProBench. Из них Picasso предлагал хорошую совместимость со старыми приложениями, поскольку большинство совместимых с ОС программ можно было продвигать на дисплей графической карты, [11] и относительно сильную поддержку программного обеспечения. [3] ProBench (от ProDev) был выпущен как новый «эмулятор Workbench» для старой графической карты Merlin в 1994 году, [12] а версия 3 (1996) представила 16-битную глубину цвета и совместимость с CyberGraphX. [13] [14]
Enhanced Graphics System (EGS) была разработана Viona Development с использованием языка Cluster ( производная Modula-2 ) для графических плат Piccolo и Spectrum, поддерживающих глубину экрана до 24 бит. Для нее требуется минимум 2 МБ ОЗУ и 4–5 МБ места на жестком диске. [15] EGS была впервые представлена с картой EGS 110/24 (GVP) на выставке World of Commodore/Amiga в Нью-Йорке в апреле 1992 года. [16] Она поддерживала более широкий спектр графических карт, чем другие драйверы, и рассматривалась некоторыми журналами Amiga как следующий стандарт RTG для Amiga, но ее совместимость с большинством приложений Amiga была ограничена. [17] [18] [19]
CyberGraphX (произносится как «киберграфика» и часто сокращается как «CGX») — это перенацеливаемый графический API для Amiga и совместимых компьютерных систем, разработанный Томасом Сонтовски и Фрэнком Мариаком и позднее принятый Phase5 для использования с их графическими картами. [20] Многие другие производители графических карт, предлагавшие оборудование для Amiga и совместимых систем, также использовали его.
Представленный в 1995 году вместе с графической картой CyberVision64 (Phase5), CyberGraphX был первым программным обеспечением RTG, которое позволяло использовать полноцветные экраны для Workbench и приложений — старые решения поддерживали только 256 цветов (например, Picasso) или четырехцветный Workbench с некоторыми 24-битными окнами (Retina). [21] CyberGraphX быстро затмил все старые драйверы графических карт и к 1995 году был признан лучшим решением для отображения Workbench и других приложений. Будучи доступным бесплатно для пользователей поддерживаемых карт, он стал фактическим стандартом RTG для Amiga. [22] CyberGraphX V4 [23] был последним выпуском для AmigaOS; MorphOS использует CyberGraphX V5.
CyberGraphX поддерживает следующие графические карты:
Picasso96 [27] — это библиотека драйверов устройств RTG, используемая Picasso IV и другими графическими платами. Её разработка была начата в 1996 году компанией Village Tronic, и она совместима с CyberGraphX. [28] Хотя первые выпуски были полны ошибок и проблем со стабильностью, [29] к версии 1.17 большинство проблем с Picasso96 были исправлены. Совместимость с CyberGraphX также была улучшена. [30]
Picasso96 был выбран в качестве стандарта RTG для AmigaOS 4, сначала выпущенного как двоичный файл 68k в предварительной версии AmigaOS 4.0, [31] с полным портом PowerPC, появившимся позднее в 2004 году в следующем обновлении ОС. [32] AmigaOS 4.1 Final Edition (2014) интегрировала функции RTG непосредственно в graphics.library. [ требуется ссылка ]
Эти графические карты поддерживаются системой Picasso96, доступной для систем Amiga на базе 68K:
Picasso96, используемый AmigaOS 4, также поддерживает Voodoo 3 , Voodoo 4/5 и Radeon R100 , R200 , R300 , [36] R520 (серия X1000), R700 (серия HD 4000), серии HD 5000 (Evergreen), серии HD 6000 (Northern Islands) и серии HD 7000 (Southern Islands). [37] Драйвер RadeonHD AmigaOS 4 создан и поддерживается Хансом де Рюйтером. [38] Текущая разработка драйвера для платформы AmigaOS финансируется и принадлежит исключительно A-EON Technology Ltd.
В 2017 году права на систему Picasso96 для классических 68K Amiga Systems были куплены компанией Individual Computers (iComp). [39] iComp добавила такие функции, как перетаскивание экрана в версии 3.0.0 [40] и поддержку нескольких мониторов в версии 3.1.0 (экран Amiga OCS/ECS/AGA и экран RTG активны одновременно). [41]
API более высокого уровня был создан Штеффеном Хойзером для разработки 2D и 3D игр, требующих объемной графики . RTG Master поддерживает как графические карты (с CyberGraphX, Picasso II, Picasso96 или совместимыми с EGS драйверами), так и чипсет Amiga (ECS или AGA). Примером игры, использующей RTG Master, является Genetic Species . [42] [43]