Кіріспе

3D компьютерлік графиканы көрсетуге арналған API стандарты, 1980-ші жылдарда және 1990-шы жылдардың басында кеңінен қолданылды. PHIGS (Программалаушының иерархиялық интерактивті графикалық жүйесі) – 3D компьютерлік графиканы көрсетуге арналған қолданбалы бағдарламалау интерфейсі (API) стандарты, ол 1980-ші жылдардан 1990-шы жылдардың басына дейін 3D графика стандарты болып есептелді. Кейіннен, мүмкіндіктер мен қуатының арқасында OpenGL пайда болды, ол 1990-шы жылдардың ортасынан соңына дейін ең танымал кәсіби 3D API-ге айналды. Ірі сатушылар өз платформалары үшін PHIGS нұсқаларын ұсынды, мысалы, DEC PHIGS, IBM-нің graPHIGS және Sun-ның SunPHIGS. Оны X терезесі жүйесінде де PEX арқылы қолдануға болады. PEX – X-тің кеңейтілген нұсқасы, ол X серверінен PEX жүйесіне рендеринг үшін командаларды жіберді. Жұмыс станциялары әдетте терезелерде орналастырылды, бірақ оларды толық экранға немесе әртүрлі принтерлік құрылымдарға шығаруға да болады. PHIGS 1980-ші жылдары жасалған, оның көптеген идеялары 1970-ші жылдардың соңындағы Графикалық ядролық жүйеден (GKS) мұрагерлік алған және 1988 жылы стандартқа айналды: ANSI (ANSI X3.144 1988), FIPS (FIPS 153) және кейін ISO (ISO/IEC 9592 және ISO/IEC 9593). Оның ерте даму кезеңіне байланысты, стандарт тек ең қарапайым 3D графиканы, соның ішінде негізгі геометрияны және торларды, сондай-ақ Gouraud, "Dot" және Phong түсірілімдерін қолдайды. PHIGS ақырында кеңейіп, озық функцияларды (толыққанды Phong жарық беру моделі және деректерді бейнелеу сияқты) қамтыды, бірақ 1990-шы жылдардың ортасына қарай стандарт саналған басқа мүмкіндіктер (әсіресе текстуралық бейнелеу) қолдау таппады, сондай-ақ сол дәуірдегі көптеген машиналар оны нақты уақытта жұмыс істеуі үшін оңтайландыра алмады.

Техникалық мәліметтер

Атауындағы "иерархиялық" сөзі PHIGS-тің ерекше ерекшелігіне сілтеме жасайды: көптеген графикалық жүйелерден өзгеше, PHIGS негізгі стандарттың бір бөлігі ретінде сахналық графика жүйесін қамтыды. Модельдер орталықтандырылған құрылымдық сақтауда (CSS) құрастырылды, бұл сурет салу примитивтері мен олардың атрибуттарын (түсі, сызық стилі және т.б.) қамтитын "әлем" болып табылатын деректер базасы. CSS-тер бірнеше виртуалды құрылғылар арасында бөлісе алады, олар PHIGS жүйесінде жұмыс станциялары деп белгіленеді, және әрқайсысының кез келген санында көріністер болуы мүмкін. PHIGS-те графиканы экранға шығару үш қадамнан тұратын процесс болды: біріншіден, модель CSS-ке құрастырылатын, содан кейін жұмыс станциясы құрылып ашылатын, және соңында модель жұмыс станциясына қосылатын. Осы сәттен бастап жұмыс станциясы модельді дереу көрсетіп, модельге енгізілген кез келген өзгерістер барлық қолданылатын жұмыс станциясы көріністерінде дереу көрінетін. PHIGS бастапқыда жарықтандырылған көріністерді көрсету мүмкіндігіне ие болмады, оның орнын PHIGS+ алмастырды. PHIGS+ негізінен бірдей принциппен жұмыс істейді, бірақ 3D сахнадағы жарықтандыру және беттерді толтыру әдістерін қосты. PHIGS+ сонымен қатар NURBS (біркелкі емес рационалды B сплайндары) сияқты графикалық примитивтердің кеңейтілген түрлерін енгізді. PHIGS-ті кеңейту ұсынылған кеңейтімдерді қарастыру үшін арнайы ANSI комитеті құрылды, ол өз атауын "PHIGS PLUS" деп, мағыналырақ және (оптимистік тұрғыдан) кеңейтілген атауға өзгертті. "PLUS" – "Plus Lumière Und Surfaces" (негізгі PHIGS стандартына қарағанда екі маңызды жетістік саласы) деген сөздердің қысқартылған түрі.

OpenGL-дің өрлеуі мен PHIGS-тің құлдырауы

OpenGL, PHIGS-тен айырмашылығы, "күйі" жоқ дереу рендеринг жүйесі болды; объект рендеринг үшін көрініске жіберілгеннен кейін ол іс жүзінде жоғалады. Модельдегі өзгерістерді жүйеге қайта жіберіп, қайта рендерингтеу қажет болды, бұл бағдарламалау тәсілінде түбегейлі өзгеріс тудырды. Қарапайым жобалар үшін PHIGS пайдалану және жұмыс істеу жағынан әлдеқайда ыңғайлы болды. Дегенмен, OpenGL-дің "төменгі деңгейлі" API бағдарламашыға графикалық процессорға деректерді автобус арқылы жіберуге тырысудан бұрын CPU-дағы деректерді қарап, рендеринг өнімділігін едәуір жақсартуға мүмкіндік берді. Мысалы, бағдарламашы көрінетін объектілерді анықтап, тек экранға шығатын объектілерді ғана жіберу арқылы объектілерді "сұрыптап" тастауға болады. Бұл PHIGS-те құпия сақталды, бұл өнімділікті жақсартуды қиындатты, бірақ PHIGS іске асыруында "тегін" жақсартуға мүмкіндік берді. Сол кездегі өнімділігі төмен жүйелер мен жоғары өнімділікте рендеринг қажеттілігін ескере отырып, OpenGL 3D бағдарламалау үшін әлдеқайда "қуатты" деп есептелді. PHIGS қолданыстан шықты. PEX протоколының 6.0 нұсқасы басқа 3D бағдарламалау модельдерін де қолдау үшін жасалған, бірақ бұрынғы танымалдылығын қайта қалпына келтіре алмады. PEX негізінен XFree86 4.2.x (2002) нұсқасынан алынып тасталды және X терезесі жүйесінен X11R6.7.0 (2004 жылғы сәуір) нұсқасында толығымен жойылды.