Кіріспе

Ашық кодты графикалық бағдарламалық қамтамасыз ету OpenSG - шынайы уақыт графикалық бағдарламаларын құру үшін көрініс графикалық жүйесі, мысалы виртуалды шындық қосымшалары үшін. Ол ашық бастапқы код принциптері бойынша әзірленген, LGPL лицензиясы бар және оны еркін пайдалануға болады. Ол Windows, Linux, Solaris және OS X-те жұмыс істейді және OpenGL-ге негізделген. Оның негізгі ерекшеліктері - озық көптіріктілік және кластерлік қолдау (басқа әдістермен қатар, бірінші рет сұрыптау және соңғы рет сұрыптау), бірақ ол бір желілі бір жүйелік қолданбада да өте жақсы қолданылады. Ол Khronos Group-тың бір бөлігі емес.

Тарих

Ол басқа көптеген жүйелер сияқты 1999 жылы SceneGraph жойылғаннан кейін Microsoft пен SGI-нің Fahrenheit графикалық API жобасы қайтыс болған кезде басталды. Авторлар қалаған мүмкіндіктері бар басқа сахналық графикалық жүйе нарықта немесе көкжиекте болмағандықтан, олар өздерін бастауға шешім қабылдады. OpenSG-ді OpenSceneGraph-пен шатастыруға болмайды, ол OpenGL Performer-ге ұқсас, мүлдем басқа сахналық графикалық API. Екеуінің де дамуы бір уақытта басталды және екеуі де ұқсас атауларды таңдады.

Технология

OpenSG - басқалар сияқты көрініс графтары, бірақ оны басқалардан ерекшелендіретін бірқатар ерекшеліктері бар. Ол күйді өзгертуді оңтайландыруға арналған үстеме шығындарды азайту үшін блокталған күйді басқару жүйесін, өте икемді өтуді және басқа да механизмдерді іске қосу уақытын алмасу мен негізгі деректер құрылымдарын жақсартуға мүмкіндік береді, бірақ ең ерекше аспекті - оның көп жіктік тәсілі. Сценалық графиктер көп желілік үшін өте қиын нысаналар болып табылады, өйткені олар жүздеген мегабайт естеліктерді оңай тұтынатын өте үлкен дерек құрылымдарын қамтиды. Бұларды қайта жасау үлкен шығындардан кейін мүмкін емес. Көптеген сахналық графиктер параллель жазуларға байланысты деректердің бүлінуін болдырмау үшін жеке тораптарды бұғаттап қояды, бірақ бұл тек ішінара шешім. Сценалық графиктің күйі бүкіл сценалық графикпен бейнеленеді, тек жеке тораптарды қорғау әлі де сәйкес келмейтін нәтижелерге әкелуі мүмкін (мысалы, асинхронды физикалық симуляцияны жүргізген кезде графиктің тек бөліктерін жаңарту жартылай симуляция қадамдарының көрсетілуіне әкеледі). OpenSG таңдамалы көп буферлеуді қолданады, бұл қорғалуы қажет әрбір желі үшін графиктің кішігірім бөліктерін дублиру арқылы, ал vertex массивтері мен текстуралы суреттер сияқты жаппай деректерді бөлісу арқылы және оларды тек жазу механизміне көшірме жасау арқылы қайталайды. Жеке желілер үшін өзгерістерді синхрондау ең аз шығындарды қамтамасыз ететін өзгерістер тізімі әдісін қолдану арқылы жүзеге асырылады. Осы механизм өте икемді және тиімді кластерлеуге мүмкіндік береді. Бірнеше машинада жұмыс істейтін қолданбаны синхрондау үшін әр фреймнің өзгерістері ғана әрбір машинаға жіберіледі және жергілікті сахналық графикке біріктіріледі. Осылайша жергілікті және қашықтағы өзгерістер арасындағы айырмашылық көрінбейді. Кластерде жұмыс істегісі келетін қосымшаға кластердегі барлық өзгерістерді тарата алатын және Powerwall немесе CAVE-ті өте оңай басқаратын ClusterWindow-ды ашу керек.

Адамдар

Жобаны Дирк Райнерс, Геррит Восс және Йоханнес Бехр бастады. Ол көптеген басқа адамдардың үлесін алды, әсіресе Карстен Нойман, қазіргі уақытта негізгі қызметшісі болып табылады.