Кіріспе
Жарияланбаған кросс-платформалық графикалық API. Fahrenheit – Direct3D және OpenGL-ді біріктіру мақсатымен 3D компьютерлік графика үшін бірыңғай жоғары деңгейлі API құруға жасалған әрекет. Ол негізінен Microsoft және SGI компанияларымен әзірленді, сондай-ақ HP мен MS бірлескен жұмысының нәтижелері де кірді. Direct3D және OpenGL – 3D рендеринг құбырының рендеринг кезеңдеріне баса назар аударатын төменгі деңгейлі API. Осы API-лерді пайдаланатын бағдарламалар құбырдың қалған бөлігін басқару үшін көптеген кодтарды ұсынуға міндетті. Fahrenheit осы жұмыстың көп бөлігін өздігінен атқаратын, ал соңғы кезеңдер үшін Direct3D немесе OpenGL-ді шақыратын жалғыз API ұсынуды көздеді. Fahrenheit жобасының көп бөлігі тоқтатылды, ал Microsoft және SGI бірлесіп жұмыс істеуден ақырында бас тартты. Нәтижесінде, Fahrenheit жүйесінің XSG деп аталатын сценалық графигі ғана жарық көрді, бірақ ол көп ұзамай қолданудан шығарылды.
Fahrenheit was an effort to create a unified high level API for 3D computer graphics to unify Direct3D and OpenGL. It was designed primarily by Microsoft and SGI and also included work from an HP MS joint effort. Direct3D and OpenGL are low level APIs that concentrate primarily on the rendering steps of the 3D rendering pipeline. Programs that use these APIs have to supply a considerable amount of code to handle the rest of the pipeline. Fahrenheit hoped to provide a single API that would do most of this work, and then call either Direct3D or OpenGL for the last steps. Much of the original Fahrenheit project was abandoned, and Microsoft and SGI eventually gave up on attempts to work together. In the end, only the scene graph portion of the Fahrenheit system, known as XSG, saw a release and was discontinued shortly afterwards.
Өмірбаян
1990 жылдары SGI OpenGL 3D компьютерлік графиканың де-факто стандарты болды. 90-шы жылдардың ортасына дейін әртүрлі платформалар әртүрлі арнайы шешімдерді қолданды, бірақ SGI-нің графикалық нарықтағы күші, OpenGL Architecture Review Board (ARB) күш-жігерімен бірігіп, графикалық жұмыс станциялары нарығының басым бөлігінде OpenGL-ді жылдам стандарттауға алып келді. 1990 жылдардың ортасында Microsoft өзінің негізгі 3D жүйесі ретінде Windows NT операциялық жүйесі үшін OpenGL лицензиясын алды; Microsoft NT-ді жұмыс станциясы деңгейіндегі жүйе ретінде позициялады, ал бұл кеңістікте нағыз бәсекелес болу үшін OpenGL қажет болды. Бастапқы қолдау 1994 жылы Windows NT Workstation 3.5 нұсқасында жарияланды. 1995 жылы Microsoft компаниясы RenderMorphics компаниясын сатып алғандығы жағдайды одан әрі күрделендірді. Олардың Reality Lab өнімі – ойын мақсатында әзірленген, негізінен «төменгі деңгейдегі» нарыққа бағытталған 3D кітапханасы болды. Оны Direct3D 3.0 деп атағаннан кейін, Microsoft оны Windows 95 және ойын бағдарламалау үшін негізгі 3D API ретінде шығарды. Бұл Microsoft-тың ішінде де, сыртында да екі API-дың артықшылықтары және Direct3D-ді ілгерілету қажеттігі туралы ауқымды пікірталас тудырды. 90-шы жылдардың ортасында SGI бағдарламалауды жеңілдету үшін OpenGL-дің үстінде жоғары деңгейлі API құру бойынша бірқатар жұмыстар жүргізді. 1997 жылға қарай бұл олардың OpenGL++ жүйесіне, OpenGL-дің үстінде сақталатын режимдегі C++ API-ына айналды. Олар өзгертілген нұсқаны OpenGL немесе Microsoft жұмыс істеп жатқан жоғары өнімді, төмен деңгейлі API-дың (Reality Lab-қа негізделмеген) үстіндегі бірыңғай API ретінде пайдалануды ұсынды. Бұл орындалу егжей-тегжейлерін жасырып қана қоймай, OpenGL/DirectX соғысын артық етпейді, сонымен қатар объектіге бағытталған даму ортасы үшін жақсырақ жоғары деңгейлі интерфейстерді ұсынады. OpenGL++ жобасы 1997 жылға дейін ARB-де жалғасты. SGI жобаға ресурстар бөлгенмен, үлгілік іске асыруды ұсынғанмен, жалпы прогреске қанағаттанбағандай көрінді және «Жұмыс көп болды, бірақ байланыс салыстырмалы түрде аз болды» деп шағымданды. Microsoft бұл жобаны қолдамайтынын анық мәлімдеді, ал SGI олардың қолдауы болашақтағы кез келген жұмыстың сәтті болуы үшін маңызды деп ойлады.
Хабарландыру
1997 жылдың желтоқсанында жарияланған бірлескен баспасөз хабарламасы, содан кейін 1998 жылдың басындағы ARB отырысында SGI компаниясы OpenGL++ жобасының тоқтатылғанын және Microsoft компаниясымен "Fahrenheit" атты жаңа жүйелік кодты жасау үшін серіктестікке келгенін мәлімдеді. SGI көптеген қолданбаларда қолданылатын негізгі "орташа өлшемді" API, Fahrenheit Scene Graph-ты, сондай-ақ CAD қолданбаларынан алынған өте үлкен модельдерді өңдеуге арналған өзгертілген нұсқаны, Fahrenheit Large Model-ді ұсынуға міндеттенді. Microsoft Windows үшін Fahrenheit Low Level деп аталатын жаңа төменгі деңгейдегі рендеринг қозғалтқышын ұсынды, ол Reality Lab негізіндегі Direct3D нұсқасының орнын алмастыруға тиіс болды. Жоба 1998 жылғы SIGGRAPH іс-шарасында ресми түрде жарияланды және 1999 жылдың соңында немесе 2000 жылдың басында шығару жоспарланған. Fahrenheit SGI компаниясының даму жұмысының басты бағыты болды. Олардың MIPS негізіндегі жұмыс станциялары 1990 жылдардың басындағы өнімділік артықшылығын тез жоғалтып жатты, ал компанияның жағдайы қиын болды, өйткені орташа есептегі компьютерлер жоғары сапалы графикалық нарыққа қадам басып жатты. SGI Fahrenheit-ті стратегиялық шешім ретінде қарастырды; аяқталғаннан кейін олар PC негізіндегі өнімдерге көшуге және қазіргі кезде әмбебап API үшін ең жақсы әзірлеу құралдарын ұсынуға мүмкіндік алады. Порттау жұмыстары басталмаса да, Open Inventor және OpenGL Performer сияқты құралдар жиынтықтары болашақта Fahrenheit-ке енгізілуі тиіс болды, яғни олар Fahrenheit-ке толыққанды функционалды әзірлеу жүйесін ұсынып, қазіргі және болашақ клиенттерді қолдай алатын еді. Сонымен қатар, олар басқа Scene Graph өнімдерін жоспарлауды бастады, бұл осындай жобалардың соңғысы болды. 2000 жылы DirectX 7.0 нарыққа шықты және үлкен танымалдылыққа ие болды. DirectX 1990 жылдардың соңында 3D ойындардың дамуы кезінде басты API-ға айналды. Microsoft сол жылы Fahrenheit Scene Graph-ты XSG ретінде шығарды, бірақ оған қолдау көрсетілмейтіні туралы ескерту жасады. XSG-дің жаңа нұсқалары ешқашан шығарылмады, ал Microsoft және SGI веб-сайттарындағы Fahrenheit немесе XSG туралы барлық беттер жойылды. Windows XP жүйесіндегі стандартты бейне драйверлерінен аппараттық үдетілген OpenGL қолдауы алынып тасталды, бірақ көптеген бейне карталарын өндірушілер өздік іске асыруларын ұсынады.
Сипаттама
Open Inventor немесе Iris Performer-мен салыстырғанда, XSG дизайнында жаңа идеялар болды. Композициялық примитивтер мен аралау әдістері қолданбаларға визуализацияланатын деректер құрылымына ең қолайлы тәсілмен көріністер құруға мүмкіндік берді, бірақ содан кейін көріністің сыртқы түрін өзгертпей, оны тиімдірек көрсету үшін көрініс графигін оңтайландырушыны қолдану арқылы қайта құруға мүмкіндік берді. Дамытушы табиғи көрінген нәрсені жасады, ал жүйе оны жылдам жұмыс істететіндей етті. Құбырлы рендеринг көп жіпті қолданбаға көріністі құруға, оның примитивтерін іріктеуге және оны әртүрлі жіптерде көрсетуге мүмкіндік берді (Performer-дың қосымшасынан алынған cull draw pipeline). Бастапқы көрініс деректерінің ұсынылуы сақталатын деректер көлемін азайту үшін оңтайландырылды, осылайша оны әр жіп бойынша толық көшіруден сақтауға болады. XSG-нің ерекше мүмкіндіктерінің бірі – графикті аралаудың көптеген кіріктірілген әдістерін өз нұсқаларымен алмастыру мүмкіндігі. Дамытушылар XSG-де деректерді сақтаудың белгілі әдістерін жылдам аралауға арналған жаңа функцияларды жазып, оларды қолданыстағы рендеринг жолдарына тізбектей алатын болды. SGI-дегі Fahrenheit архитекторы Дэвид Блайт 2010 жылға дейін Microsoft-та DirectX бойынша жұмыс істеді. Ол сондай-ақ Intel компаниясының бас графикалық бағдарламалық жасақтама архитекторы болды.