OpenSceneGraph Forum Forum Index OpenSceneGraph Forum
Official forum which mirrors the existent OSG mailing lists. Messages posted here are forwarded to the mailing list and vice versa.
 
   FAQFAQ    SearchSearch    MemberlistMemberlist    RulesRules    UsergroupsUsergroups    RegisterRegister 
 Mail2Forum SettingsMail2Forum Settings  ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 
   AlbumAlbum  OpenSceneGraph IRC ChatOpenSceneGraph IRC Chat   SmartFeedSmartFeed 

Announcement: VulkanSceneGraph and SceneGraphTestBed!

Goto page 1, 2, 3  Next
 
Post new topic   Reply to topic    OpenSceneGraph Forum Forum Index -> General
View previous topic :: View next topic  
Author Message
robertosfield
OSG Project Lead


Joined: 18 Mar 2009
Posts: 11924

PostPosted: Fri Jun 01, 2018 5:22 pm    Post subject:
Announcement: VulkanSceneGraph and SceneGraphTestBed!
Reply with quote

Hi All,

I am delighted to say that today I began work on VulkanSceneGraph, an
all new scene graph that builds upon Vulkan and modern C++. This new
project can be thought of a new family member, the child of
OpenSceneGraph project. As it's a family member I've created the
project repository alongside the OpenSceneGraph within the github
openscenegraph account:

https://github.com/openscenegraph/VulkanSceneGraph

Please have a read through the README.md on the above repo as this
will explain a little about the project and where my focus will be for
the next three months work wise conducting an Exploration Phase to
scope out the technology and techniques that will go into project once
we start coding the scene graph itself.

This new project will co-exist with the OpenSceneGraph for years to
come. I will remain as project lead of the OpenSceneGraph, I will fix
bugs, push out releases, generally chase everybody to test things and
also help out with general support here - continue to do what I've
done for nearly two decades. Like OpenGL the OpenSceneGraph is still
relevant to many application developers and I expect it to remain a
corner stone of many application for years to come. Both OpenGL and
OpenSceneGraph are very mature bits of software now so there isn't a
need to keep pushing hard on new features, so I planning for a stable
period when maintenance is increasingly the focus rather new new bells
and whistles.

You no doubt will have lots of questions, but at this point I can't
provide too many answers on the technical front as we are so early in
the project the technical details are yet to solidified - this is what
my next three months work will be all about. I'll be learning
everything I can about Vulkan, working out how best to encapsulate
it's features them in a scene graph.

I also will be looking into what features of modern C++ can bring to
the table to make our lives as graphics developers easier and more
productive, C++11, 14 and 17 are all under consideration.

There also all the scene graph design elements that have been bubbling
around in my head for the last five years that I'd like to try out to
see what might be possible.

Once this Exploration Phase is complete I will have a more concrete
idea of what needs to be done next and will write a design document to
share with the community to give everyone a clearer idea of where we
are going next. During this phase I will spend most of my time
working quietly away learning, testing, thinking, learning, testing,
thinking. It's not a period that I am looking for lots of external
input on, the best software designs don't come from committees but
from a coherent and calm contemplation. I guess I need to go find
myself a mediation rock on Skellig Michael :-)

If you are keen to help out VulkanSceneGraph then this is something
you can help out with right away, without needing me to complete any
design docs or to publish any code. What all good software needs
during development and through into maintenance phase are unit tests
that test features and performance. To this end I can created a new
SceneGraphTestBed repository to collect together in one place a set of
data and test programs that we can run to test out features and
performance of both the OpenSceneGraph and the VulkanSceneGraph once
it starts becoming usable.

https://github.com/openscenegraph/SceneGraphTestBed

I don't have any data or test programs written at this point, so this
repo is an empty room waiting to be filled. My thought is that we
would initially just create OpenSceneGraph based test data and
programs that test various features and performance of the
OpenSceneGraph. If you have a particular tests that illustrate the
problems areas that you have in performance, or things that are
awkward to implement but shouldn't be then you could submit this as
unit tests that stress the OpenSceneGraph.

As the VulkanSceneGraph project evolves we tackle recreating these
OpenSceneGraph test programs using the new scene graph and the have an
ability to compare OpenGL/OpenSceneGraph with Vulkan/VulkanSceneGraph,
as well as have a set of unit tests that we can run prior to each
release of the OpenScenGraph or VulkanSceneGraph.

I don't have any specific plans of how to layout or manage the
SceneGraphTestBed, if you feel like it's something you'd like to pick
up the lead on then let us know - I'm already have plenty to juggle
myself so being able to let others manage sub projects is great way of
helping us all be as productive as we can be.

Thanks for your support and patience - cause I know we all want it yesterday!

Robert Osfield
Newly minted VulkanSceneGraph Project Lead Smile


------------------
Post generated by Mail2Forum
Back to top
View user's profile Send private message
pawel_xx (Paweł Księżopolski)
Newbie


Joined: 29 Nov 2011
Posts: 18

PostPosted: Mon Jun 04, 2018 10:06 am    Post subject:
Reply with quote

Hi Robert

I am pleased to hear that you decided to move into the Vulkan development.
Creating VirtualSceneGraph may shape graphics development for
many years to come.
It may have great impact on open source projects, because in my opinion
the current state of Vulkan open source development is rather weak.
Few game engines implemented its Vulkan backend ( and I suppose
that none of them uses Vulkan to its full potential ),
there are few small game engines made by hobbyists/students with
very narrow objectives in mind, lots of better or worse demos
showing how some Vulkan features work, plentitude of tutorials showing
how to draw a single triangle and that's all. But there is certainly lack of
universal, feature full industry quality graphics library similar to
OpenSceneGraph for OpenGL.

Eleven years ago I started working as a graphics developer using
OpenSceneGraph everyday in my professional career. I took part
in a few significant industry scale projects and made
few submissions to OpenSceneGraph, with the most important
one beeing the osggpucull example.
With that example I wanted to start a discussion about how to implement
new features from OpenGL, that didn't fit well into OpenSceneGraph
architecture, but it looked like there was no demand for it at the time.

When Vulkan came out I decided to start my own project in which
I try to use many good ideas from software I used for years
and combine it with Vulkan architecture :

https://github.com/pumexx/pumex

My project goals are :
- use multithreading as a first class citizen, so that applications
scale well with growing number of CPU and GPU cores
- create architecture that is as close to the metal as possible, but not closer
- enable rendering to multiple windows, like OpenSceneGraph does
- work on multiple platforms ( currently rendering on Linux and
Windows is implemented )
- use modern C++ features that make programming more robust
and efficient, skip features that are irrevelant
- explore possibilities of creating scene graph that is stored and processed
on GPU side ( this feature is in its early infancy, but when properly
implemented, it may speed up applications a lot )

I spent much time learning, thinking and exploring many dead ends while
implementing my library and I am willing to offer my knowledge to help you
create VulkanSceneGraph. I am convinced that synergy coming
from common work may speed up creation of VirtualSceneGraph a lot.

If you are interested, I may start with describing my library design in
greater detail as a food for thought, because documentation
for pumex library is outdated or missing at the moment.

Also you can reach me through my email address :
Only registered users can see emails on this board!
Get registred or enter the forums!


Looking forward to hearing from you
Paweł Księżopolski
Back to top
View user's profile Send private message
kornerr
Appreciator


Joined: 01 Oct 2013
Posts: 266

PostPosted: Mon Jun 04, 2018 12:55 pm    Post subject:
Announcement: VulkanSceneGraph and SceneGraphTestBed!
Reply with quote

Hi. Great news!

1. Target C++20: by the end of 2030, when (supposedly) all new
graphics software uses Vulkan, C++20 will be old enough
2. My personal concern is the ability to run VSG on linux, windows,
mac, ios, android, and web browsers, so I volunteer to help in testing
closs-platformness of VSG.

On 4 June 2018 at 13:07, Paweł Księżopolski <> wrote:
Quote:
Hi Robert

I am pleased to hear that you decided to move into the Vulkan development.
Creating VirtualSceneGraph may shape graphics development for
many years to come.
It may have great impact on open source projects, because in my opinion
the current state of Vulkan open source development is rather weak.
Few game engines implemented its Vulkan backend ( and I suppose
that none of them uses Vulkan to its full potential ),
there are few small game engines made by hobbyists/students with
very narrow objectives in mind, lots of better or worse demos
showing how some Vulkan features work, plentitude of tutorials showing
how to draw a single triangle and that's all. But there is certainly lack of
universal, feature full industry quality graphics library similar to
OpenSceneGraph for OpenGL.

Eleven years ago I started working as a graphics developer using
OpenSceneGraph everyday in my professional career. I took part
in a few significant industry scale projects and made
few submissions to OpenSceneGraph, with the most important
one beeing the osggpucull example.
With that example I wanted to start a discussion about how to implement
new features from OpenGL, that didn't fit well into OpenSceneGraph
architecture, but it looked like there was no demand for it at the time.

When Vulkan came out I decided to start my own project in which
I try to use many good ideas from software I used for years
and combine it with Vulkan architecture :

https://github.com/pumexx/pumex

My project goals are :
- use multithreading as a first class citizen, so that applications
scale well with growing number of CPU and GPU cores
- create architecture that is as close to the metal as possible, but not closer
- enable rendering to multiple windows, like OpenSceneGraph does
- work on multiple platforms ( currently rendering on Linux and
Windows is implemented )
- use modern C++ features that make programming more robust
and efficient, skip features that are irrevelant
- explore possibilities of creating scene graph that is stored and processed
on GPU side ( this feature is in its early infancy, but when properly
implemented, it may speed up applications a lot )

I spent much time learning, thinking and exploring many dead ends while
implementing my library and I am willing to offer my knowledge to help you
create VulkanSceneGraph. I am convinced that synergy coming
from common work may speed up creation of VirtualSceneGraph a lot.

If you are interested, I may start with describing my library design in
greater detail as a food for thought, because documentation
for pumex library is outdated or missing at the moment.

Also you can reach me through my email address :

Looking forward to hearing from you
Paweł Księżopolski

------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=73944#73944








------------------
Post generated by Mail2Forum
Back to top
View user's profile Send private message
robertosfield
OSG Project Lead


Joined: 18 Mar 2009
Posts: 11924

PostPosted: Mon Jun 04, 2018 1:19 pm    Post subject:
Announcement: VulkanSceneGraph and SceneGraphTestBed!
Reply with quote

Hi Pawel,

Thanks for the link to your pumex library. I've downloaded it and run
the examples. This is great resources to have a look at and having
your around to ask question/exchange areas is really useful.

At this point in the game I'm in sponge mode, soaking up info and
resources that can help me understand Vulkan better. If there are any
resources that you've found really helpful let me know.

Cheers,
Robert.


------------------
Post generated by Mail2Forum
Back to top
View user's profile Send private message
robertosfield
OSG Project Lead


Joined: 18 Mar 2009
Posts: 11924

PostPosted: Mon Jun 04, 2018 1:26 pm    Post subject:
Announcement: VulkanSceneGraph and SceneGraphTestBed!
Reply with quote

HI Michael,

On 4 June 2018 at 13:55, michael kapelko <> wrote:
Quote:
1. Target C++20: by the end of 2030, when (supposedly) all new
graphics software uses Vulkan, C++20 will be old enough

;-)

At this point in time I want both the OSG and VSG to be forwards
compatible with C++17, so if users use it in their applications they
don't hit upon build issues. I really don't know yet whether to set
C++14 or C++17 is a minimum for VSG, but for sure C++11 will be the
minimum as the threading and other features simplify life.

Quote:
2. My personal concern is the ability to run VSG on linux, windows,
mac, ios, android, and web browsers, so I volunteer to help in testing
closs-platformness of VSG.

Thanks for the offer. Once we move onto the second phase and we have
alpha code that others can build and test the fledgling scene graph it
would be good to be able to get it ported and working across
platforms. It'll be late autumn/early winter before we have much to
play with.

Cheers,
Robert.


------------------
Post generated by Mail2Forum
Back to top
View user's profile Send private message
remoe
User


Joined: 11 Jul 2011
Posts: 43

PostPosted: Mon Jun 04, 2018 3:13 pm    Post subject:
Reply with quote

Hi Robert

MacOSX has no official support of Vulkan Sad
But Khronos has a Vulkan to Metal runtime:

https://github.com/KhronosGroup/MoltenVK

Cheers,
Remo
Back to top
View user's profile Send private message
mp3butcher (Julien Valentin)
Appreciator


Joined: 17 Feb 2010
Posts: 426
Location: France

PostPosted: Mon Jun 04, 2018 5:03 pm    Post subject:
Reply with quote

Hi all
Glad to hear vsg is on the grill. As Remo wrote, MoltenVk should be taken into consideration in the design of VSG for the Mac/IOS compatibility.

@Robert classic Vulkan resources I read (if you don't already have them):
-Vulkan Programming Guide (Graham Sellers)
-per feature examples: https://github.com/SaschaWillems/Vulkan
-fill the gap between gl&vk: https://www.youtube.com/watch?v=PPWysKFHq9c
I have nothing to share yet about my thoughts on vsg but believe most of the osg Node abstraction can be kept...

Good trip
Cheers

remoe wrote:
Hi Robert

MacOSX has no official support of Vulkan Sad
But Khronos has a Vulkan to Metal runtime:

https://github.com/KhronosGroup/MoltenVK

Cheers,
Remo

_________________
Twirling twirling twirling toward freedom
Back to top
View user's profile Send private message Visit poster's website
pawel_xx (Paweł Księżopolski)
Newbie


Joined: 29 Nov 2011
Posts: 18

PostPosted: Mon Jun 04, 2018 5:47 pm    Post subject:
Reply with quote

> Thanks for the link to your pumex library.
> I've downloaded it and run the examples.

I encourage you to take a look at the sourcecode
of the examples - I made it similar to OSG code.

> If there are any resources that you've found
> really helpful let me know.

Vulkan specification is the most comprehensive source of knowledge about
the API - it's long but it is a must for any developer taking it seriously :

https://www.khronos.org/registry/vulkan/specs/1.1/html/vkspec.html

As for the books I recommend "Vulkan Programming Guide" written
by Graham Sellers. Sometime ago it was even available for free in
certain countries on Google Play bookstore :

http://www.vulkanprogrammingguide.com/

Active forums discussing Vulkan include Khronos forums :

https://forums.khronos.org/forumdisplay.php/114-Vulkan-High-Efficiency-GPU-Graphics-and-Compute

and Vulkan subreddit :

https://www.reddit.com/r/vulkan/

Sascha Willems wrote a good set of Vulkan demos, that show how to
implement certain features :

https://github.com/SaschaWillems/Vulkan
https://www.saschawillems.de/

There's also a curated list of useful links to everything
associated with Vulkan :

https://github.com/vinjn/awesome-vulkan

Meanwhile I will try to write some article or two about my design,
but I see that I don't have to be in a hurry ( which will be good
for article quality ) while you learn Vulkan. I will post a link
to it when I'll finish.

As for the Mac/iOS platform - it was Apple's choice to skip
Vulkan and go only with their Metal API. Maybe things will change
on that platform before VSG becomes mature enough.

Cheers,
Paweł Księżopolski
Back to top
View user's profile Send private message
robertosfield
OSG Project Lead


Joined: 18 Mar 2009
Posts: 11924

PostPosted: Mon Jun 04, 2018 7:47 pm    Post subject:
Announcement: VulkanSceneGraph and SceneGraphTestBed!
Reply with quote

Hi Pawel,

Thanks for the links. I have the book already and already download
some of the resources, some new ones too so very helpful.

Earlier today I downloaded and played a bit with your pumex examples.
Design wise I can probably work out most of it from the implementation
so no need to write any tutorials for my benefit, over the years I've
got quite good at reviewing code and trying to make sense of it. If
I can't easily work out what is going on and why I will ping you for
an explanation :-)

Cheers,
Robert.

On 4 June 2018 at 18:48, Paweł Księżopolski <> wrote:
Quote:
Quote:
Thanks for the link to your pumex library.
I've downloaded it and run the examples.

I encourage you to take a look at the sourcecode
of the examples - I made it similar to OSG code.

Quote:
If there are any resources that you've found
really helpful let me know.

Vulkan specification is the most comprehensive source of knowledge about
the API - it's long but it is a must for any developer taking it seriously :

https://www.khronos.org/registry/vulkan/specs/1.1/html/vkspec.html

As for the books I recommend "Vulkan Programming Guide" written
by Graham Sellers. Sometime ago it was even available for free in
certain countries on Google Play bookstore :

http://www.vulkanprogrammingguide.com/

Active forums discussing Vulkan include Khronos forums :

https://forums.khronos.org/forumdisplay.php/114-Vulkan-High-Efficiency-GPU-Graphics-and-Compute

and Vulkan subreddit :

https://www.reddit.com/r/vulkan/

Sascha Willems wrote a good set of Vulkan demos, that show how to
implement certain features :

https://github.com/SaschaWillems/Vulkan
https://www.saschawillems.de/

There's also a curated list of useful links to everything
associated with Vulkan :

https://github.com/vinjn/awesome-vulkan

Meanwhile I will try to write some article or two about my design,
but I see that I don't have to be in a hurry ( which will be good
for article quality ) while you learn Vulkan. I will post a link
to it when I'll finish.

As for the Mac/iOS platform - it was Apple's choice to skip
Vulkan and go only with their Metal API. Maybe things will change
on that platform before VSG becomes mature enough.

Cheers,
Paweł Księżopolski

------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=73962#73962








------------------
Post generated by Mail2Forum
Back to top
View user's profile Send private message
mp3butcher (Julien Valentin)
Appreciator


Joined: 17 Feb 2010
Posts: 426
Location: France

PostPosted: Tue Jun 05, 2018 5:29 am    Post subject:
Reply with quote

Hi all
Thanks pawel_xx for the resources, some are very interesting

I forgot to mention Anvil the AMD vulkan c++ wrapping
https://github.com/GPUOpen-LibrariesAndSDKs/Anvil
Don't know what it worse...

Cheers

pawel_xx wrote:
> Thanks for the link to your pumex library.
> I've downloaded it and run the examples.

I encourage you to take a look at the sourcecode
of the examples - I made it similar to OSG code.

> If there are any resources that you've found
> really helpful let me know.

Vulkan specification is the most comprehensive source of knowledge about
the API - it's long but it is a must for any developer taking it seriously :

https://www.khronos.org/registry/vulkan/specs/1.1/html/vkspec.html

As for the books I recommend "Vulkan Programming Guide" written
by Graham Sellers. Sometime ago it was even available for free in
certain countries on Google Play bookstore :

http://www.vulkanprogrammingguide.com/

Active forums discussing Vulkan include Khronos forums :

https://forums.khronos.org/forumdisplay.php/114-Vulkan-High-Efficiency-GPU-Graphics-and-Compute

and Vulkan subreddit :

https://www.reddit.com/r/vulkan/

Sascha Willems wrote a good set of Vulkan demos, that show how to
implement certain features :

https://github.com/SaschaWillems/Vulkan
https://www.saschawillems.de/

There's also a curated list of useful links to everything
associated with Vulkan :

https://github.com/vinjn/awesome-vulkan

Meanwhile I will try to write some article or two about my design,
but I see that I don't have to be in a hurry ( which will be good
for article quality ) while you learn Vulkan. I will post a link
to it when I'll finish.

As for the Mac/iOS platform - it was Apple's choice to skip
Vulkan and go only with their Metal API. Maybe things will change
on that platform before VSG becomes mature enough.

Cheers,
Paweł Księżopolski

_________________
Twirling twirling twirling toward freedom
Back to top
View user's profile Send private message Visit poster's website
robertosfield
OSG Project Lead


Joined: 18 Mar 2009
Posts: 11924

PostPosted: Tue Jun 05, 2018 7:35 am    Post subject:
Announcement: VulkanSceneGraph and SceneGraphTestBed!
Reply with quote

Hi Julien,

On 4 June 2018 at 18:03, Julien Valentin <> wrote:
Quote:
Glad to hear vsg is on the grill. As Remo wrote, MoltenVk should be taken into consideration in the design of VSG for the Mac/IOS compatibility.

I haven't investigated MoltenVk yet, are there gotcha's involved in
supporting it?

Quote:
@Robert classic Vulkan resources I read (if you don't already have them):
-Vulkan Programming Guide (Graham Sellers)
-per feature examples: https://github.com/SaschaWillems/Vulkan

Thanks, have the book and have done a bit of diving into Sascha's resources.

Quote:
-fill the gap between gl&vk: https://www.youtube.com/watch?v=PPWysKFHq9c

Excellent, I've added it to my list of resources.

Quote:
I have nothing to share yet about my thoughts on vsg but believe most of the osg Node abstraction can be kept...

While many of the osg Node abstractions could be replicated, at this
point I'm doing it clean room both conceptually and implementation
wise. It's likely you'll see things in VulkanSceneGraph that will be
like old friends, but many other places I'll changes things
drastically, either that's what Vulkan requires or to improve
performance or flexibility a new approach is required.

Cheers,
Robert.


------------------
Post generated by Mail2Forum
Back to top
View user's profile Send private message
sam
Guest





PostPosted: Tue Jun 05, 2018 4:31 pm    Post subject:
Announcement: VulkanSceneGraph and SceneGraphTestBed!
Reply with quote

Hi Robert,

Regarding SceneGraphTestBed are we looking to have a library to help facilitate testing? What is the current vision for the test repository.


Thanks, Sam


On Tue, Jun 5, 2018 at 1:35 AM Robert Osfield < (
Only registered users can see emails on this board!
Get registred or enter the forums!
)> wrote:

Quote:
Hi Julien,

On 4 June 2018 at 18:03, Julien Valentin < (
Only registered users can see emails on this board!
Get registred or enter the forums!
)> wrote:
Quote:
Glad to hear vsg is on the grill. As Remo wrote, MoltenVk should be taken into consideration in the design of VSG for the Mac/IOS compatibility.

I haven't investigated MoltenVk yet, are there gotcha's involved in
supporting it?

Quote:
@Robert classic Vulkan resources I read (if you don't already have them):
-Vulkan Programming Guide (Graham Sellers)
-per feature examples: https://github.com/SaschaWillems/Vulkan

Thanks, have the book and have done a bit of diving into Sascha's resources.

Quote:
-fill the gap between gl&vk: https://www.youtube.com/watch?v=PPWysKFHq9c

Excellent, I've added it to my list of resources.

Quote:
I have nothing to share yet about my thoughts on vsg but believe most of the osg Node abstraction can be kept...

While many of the osg Node abstractions could be replicated, at this
point I'm doing it clean room both conceptually and implementation
wise.  It's likely you'll see things in VulkanSceneGraph that will be
like old friends, but many other places I'll changes things
drastically, either that's what Vulkan requires or to improve
performance or flexibility a new approach is required.

Cheers,
Robert.
_______________________________________________
osg-users mailing list
(
Only registered users can see emails on this board!
Get registred or enter the forums!
)
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


------------------
Post generated by Mail2Forum
Back to top
mp3butcher (Julien Valentin)
Appreciator


Joined: 17 Feb 2010
Posts: 426
Location: France

PostPosted: Tue Jun 05, 2018 6:35 pm    Post subject:
Re: Announcement: VulkanSceneGraph and SceneGraphTestBed!
Reply with quote

Hi all

MoltenVk is a Vulkan implementation, so not a great constraint, only some cmake code and macros to prevent incompatibilities are to be forseen:
https://www.moltengl.com/docs/readme/moltenvk-0.13.0-readme-user-guide.html#install

Concerning Android Vulkan support begins with API 22 (lolipop),
on these platefroms std libraries are likely (or not) to support C++11 std::thread (don't know i have an old kitkat..) but some user feedback would lever this doubt

PS: I repost Anvil just in case you missed it
https://github.com/GPUOpen-LibrariesAndSDKs/Anvil/
I'd like other people ptofview about it as it provide the base we require
(but more..pumex is definitly easier to read:/).
If anyone have experience with it it would be great to share it...

Cheers

robertosfield wrote:
Hi Julien,
On 4 June 2018 at 18:03, Julien Valentin <> wrote:
Quote:
Glad to hear vsg is on the grill. As Remo wrote, MoltenVk should be taken into consideration in the design of VSG for the Mac/IOS compatibility.

I haven't investigated MoltenVk yet, are there gotcha's involved in
supporting it?

Quote:
@Robert classic Vulkan resources I read (if you don't already have them):
-Vulkan Programming Guide (Graham Sellers)
-per feature examples: https://github.com/SaschaWillems/Vulkan

Thanks, have the book and have done a bit of diving into Sascha's resources.

Quote:
-fill the gap between gl&vk: https://www.youtube.com/watch?v=PPWysKFHq9c

Excellent, I've added it to my list of resources.

Quote:
I have nothing to share yet about my thoughts on vsg but believe most of the osg Node abstraction can be kept...

While many of the osg Node abstractions could be replicated, at this
point I'm doing it clean room both conceptually and implementation
wise. It's likely you'll see things in VulkanSceneGraph that will be
like old friends, but many other places I'll changes things
drastically, either that's what Vulkan requires or to improve
performance or flexibility a new approach is required.

Cheers,
Robert.


------------------
Post generated by Mail2Forum

_________________
Twirling twirling twirling toward freedom
Back to top
View user's profile Send private message Visit poster's website
loopless
User


Joined: 20 May 2009
Posts: 83

PostPosted: Tue Jun 05, 2018 6:51 pm    Post subject:
Reply with quote

Great news and very timely given Apple’s just announced decision to deprecate OpenGL....
Back to top
View user's profile Send private message
robertosfield
OSG Project Lead


Joined: 18 Mar 2009
Posts: 11924

PostPosted: Tue Jun 05, 2018 8:01 pm    Post subject:
Announcement: VulkanSceneGraph and SceneGraphTestBed!
Reply with quote

Hi Sam,

On 5 June 2018 at 17:30, sam <> wrote:
Quote:
Regarding SceneGraphTestBed are we looking to have a library to help
facilitate testing? What is the current vision for the test repository.

I am open to suggestions and support. My motivation is that both the
OpenSceneGraph and VulkanSceneGraph need testing and doing it in one
coordinated way could help both projects.

OpenSceneGraph is feature rich and has lots of loaders but still needs
testing. VulkanSceneGraph right now has no code, no features, no
loaders, but over time these will be expanded and progress towards
OpenSceneGraph feature wise. However, I don't plan for
VulkanSceneGraph to have all the NodeKits and niche features that
OpenScenGraph, these instead will be something for high level
frameworks or add on libraries.

As VulkanSceneGraph is developed it will be rarely useful to have a
set of existing tests for it to use as concrete goals that we can work
towards. I can envisaged creating an OpenSceneGraph test program that
tests an OpenSceneGraph/GL feature set, then this test becomes a
target for replicating as the VulkanSceneGraph is developed. For
instance we might have a quad tree scene graph and we want to test
culling performance of the scene graphs traversal and culling.
Another test might be a specific render to texture technique like
distortion correction or shadows. One could create dozens of
different tests, or simply have one test program that loads many
different types of data.

One possibility I have been thinking of is to create a scene graph
builder interface that has a lua front end that we can use lua scripts
to build scene graphs and run tests. This scene graph builder
interface would then have a scene graph builder backend, one for
OpenSceneGraph, one for VulkanSceneGraph then at runtime one can
select either or both and then test the resulting scene graphs.

Another extension to this could be doing loading data and imagery
using the OSG, but then pass this in as input into the scene graph
builder than abstracts away from the OSG specifics.

These are just ideas right now, nothing more than a git repo making
intent as this stage.

--

As a bit of background, in the early days of the OSG I was lucky to be
using Performer for my day job so I got to test models like
Performance town and just for fun set myself a goal of implementing
all the features used in Performer town - so LOD's switches, sequences
and a range of GL state that originally the OSG had none of. Once I
could load and render the town so it looked the same of performer the
issue of performance become apparent - the OSG was getting ~1fps while
Performer got 60fps+, which then spured me to on to implement culling,
state sharing, state sorting, lazy state updating until eventually the
OSG performed just as well.

This process of having a full featured scene graph to compare to was a
really helpful yardstick to measure against. The OSG wasn't
attempting to be Performer, it was headed in it's own design direction
wise, but it still needed basic features to serve the needs of the
vis-sim market, so knowing what these were was a big step up. As the
OSG developed new challenges were brought forward by the community and
clients that forced it to evolve in more scalable and flexible ways
too.

For the VulkanSceneGraph I'd like to use the same practical
feature/performance benchmarks to aim for, measurable goals are so
much more effective for software design than marketing bullet points.

For the future VulkanSceneGraph user community being able to define in
practical terms what features you'd like to see would be a good way to
measure up progress against it. As we have a really powerful scene
graph to work with already we should be in a good position to leverage
it to provide such benchmarks.

I hope this makes sense,
Robert.


------------------
Post generated by Mail2Forum
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    OpenSceneGraph Forum Forum Index -> General All times are GMT
Goto page 1, 2, 3  Next
Page 1 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum

Similar Topics
Topic Author Forum Replies Posted
No new posts The naming of VulkanSceneGraph Chris Hanson General 10 Thu Jun 21, 2018 2:58 pm View latest post
No new posts EXTERNAL: Announcement: VulkanSceneGr... Rowley, Marlin R General 0 Mon Jun 04, 2018 3:00 pm View latest post
No new posts Announcement: OpenGL ES 2.0 port unde... robertosfield General 1 Mon Oct 05, 2009 4:04 pm View latest post


Board Security Anti Bot Question MOD - phpBB MOD against Spam Bots
Powered by phpBB © 2001, 2005 phpBB Group
Protected by Anti-Spam ACP