Есть ли приличный OpenGL SceneGraph API/ фреймворк?
Я новичок в OpenGL.
Интересно, есть ли какой-нибудь хороший Scenegraph API/framework для OpenGL.
В настоящее время я использую перенасыщение с помощью решения на основе собственного узла: я устанавливаю детей и братьев и сестер для каждого узла, вызывая функцию обхода.
Я хотел бы более гибкое решение, когда речь заходит об управлении динамическими элементами в сцене.
4 ответа
SDL немного более современен, чем перенасыщен, но вы на правильном пути, используя собственную структуру графиков для управления пейзажами. Есть много доступных рамок. Например, OpenSceneGraph существует довольно давно. У OGRE также много поклонников. Тем не менее, это не строго библиотека OpenGL, так как DirectX и программные средства визуализации также доступны.
Возможно, вы захотите взглянуть на связанные темы, такие как разбиение двоичного пространства, quadtrees / octrees и kd-trees.
Я согласен, что openscenegraph - это отличный сценограф. Он написан на C++ и имеет привязки к некоторым другим языкам, но не для.NET, насколько я знаю. Мы были в ситуации использования чего-то большего, чем просто старый opengl, и смотрели на управляемые directx, xna, wpf и opengl. Мы решили написать наш собственный сценограф на основе Tao.OpenGL как opengl.
Вы можете выполнять динамические объекты, имея фазы обновления перед этапами отбора и рендеринга. Если вы делаете многопоточность, вы должны быть осторожны с этапом обновления.
Я второй (третий?) Использование OpenSceneGraph. Он надежный и кроссплатформенный, и хорошо интегрируется с Qt (наше приложение работает на MacOS, Windows и Linux, используя OpenSceneGraph и Qt вместе). Документация может быть не такой качественной, как коммерческая, но есть книга, которую вы можете купить (и бесплатное краткое руководство), которая действительно помогает.