Есть ли приличный OpenGL SceneGraph API/ фреймворк?

Я новичок в OpenGL.

Интересно, есть ли какой-нибудь хороший Scenegraph API/framework для OpenGL.

В настоящее время я использую перенасыщение с помощью решения на основе собственного узла: я устанавливаю детей и братьев и сестер для каждого узла, вызывая функцию обхода.

Я хотел бы более гибкое решение, когда речь заходит об управлении динамическими элементами в сцене.

4 ответа

Решение

SDL немного более современен, чем перенасыщен, но вы на правильном пути, используя собственную структуру графиков для управления пейзажами. Есть много доступных рамок. Например, OpenSceneGraph существует довольно давно. У OGRE также много поклонников. Тем не менее, это не строго библиотека OpenGL, так как DirectX и программные средства визуализации также доступны.

Возможно, вы захотите взглянуть на связанные темы, такие как разбиение двоичного пространства, quadtrees / octrees и kd-trees.

Есть много библиотек, занимающихся этой темой. Вот некоторые из моих любимых:

  • VTK - чрезвычайно подходящий и открытый исходный код
  • Coin3D - очень хороший коммерческий граф сцены
  • OpenSG - просто для полноты:-)

Я согласен, что openscenegraph - это отличный сценограф. Он написан на C++ и имеет привязки к некоторым другим языкам, но не для.NET, насколько я знаю. Мы были в ситуации использования чего-то большего, чем просто старый opengl, и смотрели на управляемые directx, xna, wpf и opengl. Мы решили написать наш собственный сценограф на основе Tao.OpenGL как opengl.

Вы можете выполнять динамические объекты, имея фазы обновления перед этапами отбора и рендеринга. Если вы делаете многопоточность, вы должны быть осторожны с этапом обновления.

Я второй (третий?) Использование OpenSceneGraph. Он надежный и кроссплатформенный, и хорошо интегрируется с Qt (наше приложение работает на MacOS, Windows и Linux, используя OpenSceneGraph и Qt вместе). Документация может быть не такой качественной, как коммерческая, но есть книга, которую вы можете купить (и бесплатное краткое руководство), которая действительно помогает.

Другие вопросы по тегам