Перейти до вмісту

OpenSceneGraph

Матеріал з Вікіпедії — вільної енциклопедії.
OpenSceneGraph
Тип3D-графіка
РозробникRobert Osfieldd Редагувати інформацію у Вікіданих
Стабільний випуск3.4.0 (12 серпня 2015; 9 років тому (2015-08-12))
Версії3.6.5 (31 січня 2020)[1]
Операційна системаБагатоплатформена
Мова програмуванняC++
ЛіцензіяOpenSceneGraph Public License (основана на LGPL)
Репозиторійgithub.com/openscenegraph/OpenSceneGraph
Вебсайтwww.openscenegraph.org
www.openscenegraph.com

OpenSceneGraph це відкрита програмна бібліотека для роботи з тривимірною графікою,[2], яка використовується розробниками програмного забезпечення для таких галузей застосування, як візуальна симуляція, комп'ютерні ігри, віртуальна реальність, наукова візуалізація і моделювання.

Набір інструментів написано на стандартній мові C++ з використанням OpenGL,[2] і працює на багатьох операційних системах включаючи Microsoft Windows, Mac OS X, Linux, IRIX, Solaris і FreeBSD. Із версії 3.0.0, OpenSceneGraph також має підтримку мобільних платформ, а конкретно iOS і Android.

Архітектура

Архітектура бібліотеки складається з трьох основних частин — ядра бібліотеки OpenSceneGraph, osgViewer і набору NodeKits.

Ядро

Основна частина бібліотеки OpenSceneGraph далі поділяється на чотири основні модулі.

osg

Ядро бібліотеки OpenSceneGraph надає класи і методи для побудови і управлінням графічної сцени. Вона містить класи для представлення різних типів вершин, геометрії сцени, абстракцію стану OpenGL, геометричних перетворень, а також класів для здійснення математичних операцій з 2D і 3D векторами і операцій над матрицями. Також присутній розвинутий інструментарій для управління пам'яттю.

OpenThreads

Проект OpenSceneGraph містить бібліотеку для роботи з потоками, OpenThreads, що є легкою і крос-платформовою моделлю управління потоками. Вона містить мінімальний і повний об'єктивно-орієнтований для роботи з потоками в C++. За основу здебільшого бралися інтерфейси роботи з потоками на Java, і стандарти POSIX потоків.

osgUtil

osgUtil містить функціонал для рендерингу і утиліти, які займаються пошуком по графу сцени, оптимізацією рендерінгу і перетворенням сцени в потів викликів OpenGL. Вона також забезпечує базові засоби для взаємодії зі сценою, наприклад вибір об'єктів.

Примітки

  1. Release 3.6.5 — 2020.
  2. а б Anne Ruas, Christopher Gold (2008). Headway in Spatial Data Handling:13th International Symposium on Spatial Data Handling. Springer. с. 370.

Посилання