Plans for OpenSceneGraph master, 3.6.x, 3.8 and beyond #1176
Replies: 6 comments 3 replies
-
As part of clean up of the OpenSceneGraph I have removed all developer release tags leaving just major release tags, cutting the number of tags from 137 down to 26. I have also pruned the branches down to just the active and the stable release branches. These changes are meant to "thin out the woods" so developers can more easily see the relevant parts of the repository. |
Beta Was this translation helpful? Give feedback.
-
Hi Robert,
Please contact me if you need more info. Translated with www.DeepL.com/Translator (free version) |
Beta Was this translation helpful? Give feedback.
-
Hi Robert, We selected OSG because it was a cleaner and clever design compared to all other alternatives. Now we would like to know if OSG/VSG are future proof. For this we appreciate your thoughts about other developments in the industry, for instance:
Thanks in advance, Mauricio. FlexTerm Development Lead |
Beta Was this translation helpful? Give feedback.
-
The OSG is primarily in maintenance mode and I consider it a legacy scene graph, based on a legacy graphics API, that is maintained in a stable state as possible for the large number of applications that depend upon. As long as OpenGL/ES is still supported on platforms it will should possible to keep the OSG building for them. The VSG is next gen scene graph, based on a modern graphics API , that is designed from the ground up for modern hardware and application needs. It's still in it's infancy having just got to 1.0, but it's already very functional and will provide a great base for the future evolution of Vulkan, the scene graph and utility libraries on-top of it. As much as you can future proof a scene graph the VSG probably qualifies as state of the art. Fast forward 10 years and I wouldn't be surprised if their are applications still happily using the OSG, they won't be ground breaking in any way, but that's not what most graphics applications need. In 10 years the VSG will be very mature and should still be able to help users developing cutting edge applications. If application developers want to use the latest features of hardware and get the best performance they'll need to migrate from the OSG to the VSG or one of the competing modern APIs. I don't see much value in trying to chase features with the OSG as it'll always be held back by OpenGL and maintaining backwards compatibility to older applications. For applications that don't want/need to modernize then they'll need this stable OSG to keep maintaining their applications in a usage state. Personally, I'd like to see folks migrating from the OSG to the VSG. It's just a better scene graph in many ways, I learned lots of lessons about scene graphs in developing and maintaining the OSG, and working with application developers over two decades, the VSG is distillation of what I think a modern scene graph needs to be. There is lots of scope discussion about how we evolve the OSG to enable folks to migrate from OSG/OpenGL to VSG/Vulkan, part of this will be gathering experience and sharing it on places like this forum, as well as work on the OSG itself or the osg2vsg migration library, As more folks migrate to the VSG they'll also get used some of neat features that it has and want to see those back-ported to the OSG - for instance adoption of the C++17, modern C++ threading, the vsg::Allocator for more efficient memory allocation, more GLSL style maths classes like the VSG has, or even the file path handling, There are lots of little things in the VSG that just make life for programmer easier. However, as much as pulling some elements of the VSG into the OSG might round off some of the OSG's rough edges better, the OSG won't be able to magically be modernize and perform anything close that you can get with the VSG/Vulkan, the focus will have remain maintaining backwards compatibility.
I haven't follow Pixar's USD effort, but if it does become a standard then it'll join the rest of the "yet another" industry standard like Collada and GLTF. The VulkanSceneGraph's vsgXchange library uses Assimp for loading 3rd party models so if USD support gets added to Assimp then we'll automatically get it. Otherwise it would be case of a member of the OSG or VSG community developing a loader for USD, or commissioning a dev like myself to develop it.
Same situation as with USD, it's just another "standard" that we can choose to support based on whether it offers value to end users and their is someone who wants to contribute it or some organization to help fund it's development. Basically all these new standards just add to all the other standards that are out there, there won't be one that comes along and makes all the rest irrelevant.
The VullkanSceneGraph supports the Vulkan ray tracing extensions.
I don't have experience with these projects so can't personally comment on detailed comparisons. In general Unreal and Unity are more modern and provide much more functionality out of the box, and asset tools that the OSG doesn't have, but there are essentially game engines design for games, that can be for more general graphics applications but they'll have lots of SDK overhead associated with all those game related functionality that have no relevance for general purpose graphics applications. However, what the OSG has is backwards compatibility with existing OSG based applications. It's doesn't attempt to be a full game engine and gives users quite a bit of freedom in how they put their applications together. The VSG doesn't have the backwards compatibility that the OSG has, but it's made from the same DNA, with a focus on graphics applications in general rather than a specific market segment. Another advantage the VSG has is cross pollination of the OSG and VSG communities. |
Beta Was this translation helpful? Give feedback.
-
On Mon, 5 Dec 2022 at 17:13, Andrew Cunningham ***@***.***> wrote:
My only comment would be that Vulkan is not supported (or the drivers are
of poor quality) on older hardware encountered out there in the real world
( particularly on laptops). Industrial users in particular tend to hold
onto old equipment until it dies.
That's a big reason for maintaining OpenSceneGraph for those users who are
stuck supporting users on really old hardware.
An alternative might be to just software rendering of Vulkan on such
systems. Performance would not be great but might be good enough for
providing backwards compatibility to ancient hardware.
Each user of the OpenSceneGraph will have to determine what is appropriate
for their applications and their users. Early adopters have already moved
over to the VulkanSceneGraph, some even had commercial applications in the
hands of customers 2 years ago.
Over time the number of users that the VulkanScenGraph will be suitable for
will increase, but I don't see there being a drop dead date for
OpenSceneGraph users, it's open source you have plenty of options for
maintaining applications.
… Message ID:
<openscenegraph/OpenSceneGraph/repo-discussions/1176/comments/4315401@
github.com>
|
Beta Was this translation helpful? Give feedback.
-
I'm developing a long-term project named osgverse (https://github.com/xarray/osgverse), which is a non-intrusive PBR-based rendering framework and scene editor based on OpenSceneGraph. It will support most old hardwares and integrated ones, as well as different platforms in a much convenient way. I've rewritten the postprocessing pipeline, realtime shadow, and will aim to implement a Unity like engine for developers and artists. I will release a 1.0 version based on OpenSceneGraph 3.6.5 first. And then try to make the underlying module compatible with VSG if possible. I've leaved the community for a long while (to work as a UAV/AGV developer) and now I can finally back to work as a 3D software engineer. ^_^ |
Beta Was this translation helpful? Give feedback.
-
Hi All,
Over the past 4 and half years I have been close to 100% focused on development of the VulkanSceneGraph, the successor to the OpenSceneGraph, actually it's probably nearer to 150% given all the over-time mastering the Vulkan beast and re-inventing what a scene graph should be in the 2020's. It's been one of those all consuming tasks that you can only do it justice if you concentrate all your efforts on. Hugely proud of how it's turned out, so please check it out, it surpasses the OpenSceneGraph in many ways.
Now that VulkanSceneGraph-1.0.0 is out I can finally let other tasks start creeping back into consciences, and start looking at catching up with outstanding OpenSceneGraph support work and planning future releases. I will be easing slowly back into the OpenSceneGraph side, so please don't expect me to be suddenly available 60hrs a week provide support, but I plan to put aside some of my free time over the next few months to try and bring things a bit more up to date.
Follows are my thoughts about the way forward for the OpenSceneGraph project.
OpenSceneGraph and OpenGL are legacy APIs, that are widely used and need maintaining
While we can get all excited about the potential of the VulkanSceneGraph/Vulkan to get every ms of performance and fancy new features out of modern hardware the reality is the OpenSceneGraph/OpenGL has lots of existing applications that use them and rely upon their availability and usability going forward.
Providing a solid and reliable base for the community of OpenSceneGraph users has to be the priority. If you want best performance and support for latest hardware features then the OpenSceneGraph/OpenGL is not the tool for you, that's what the VulkanSceneGraph is for.
Prioritizing build and runtime stability over features and performance will be metric used for all PR's, be them build changes, code changes. If new code and build submissions isn't focused on stability improvements then it will need to be risk assessed and well tested in order to justify the risk of merging it. I'd rather reject a new feature or performance enhancement rather than risk breaking the build or runtime.
When it comes to reviewing PRs expect me to be risk adverse and feature skeptic. This will be a sliding scale:
My current near term (next 3 months) OpenScenGraph plans:
Possible longer term OpenScenGraph plans:
Funding would be really helpful
Over the past year I took a long sabbatical from paid client work so I could concentrate fully of completing the VulkanScenGraph and getting 1.0.0 out. I used funds from previous client work to make it possible to do 9 months work without income but now 1.0.0 I'm having to concentrate primarily on client work - I need to refill the tank. This means I won't have much time available for general open source work and support. The time I have available will need to be split between the OpenScenGraph and VulkanSceneGraph projects.
As new client work comes in then I'll need to continue to prioritize it over unpaid work, but if organizations using the OpenSceneGrah want to me to concentrate on the OpenSceneGraph then funding a block of time will really help me schedule OpenSceneGraph support/dev work. While I don't have any active OpenSceneGraph support contracts in place perhaps this would be a way funding the open source work, perhaps combined OpenSceneGraph/VulkanSceneGraph contracts would be something companies would like.
I'm open to suggestions on how to balance the books and time between the various project demands.
--
Many thanks for the your patience over the past few years. I do appreciate that it can't have been easy having a project lead largely absent from the helm for four and half years.
Cheers,
Robert Osfield.
OpenSceneGraph/VulkanScenegraph Project Lead.
Beta Was this translation helpful? Give feedback.
All reactions