Learn VulkanSceneGraph from scratch #644
Replies: 3 comments 2 replies
-
There are some similar concepts between the OSG and the VSG, but also some fundamental differences due to OpenGL vs Vulkan and also the VSG just being new ground up scene graph. For a new user I don't think learning the OSG will help accelerate learning the VSG. W.r.t learning Vulkan then the VSG, I don't think this will be speed things along too much. Vulkan requires a huge amount of setup before you can even render a simple texture quad, this is a huge hurdle for new users, something that I'm hoping that the VSG can short cut as most of the setup is done for you, to achieve the same result the VSG can do it with a fraction of the code. However, the VSG has been designed to a scene graph for Vulkan, VSG class naming and members are chosen to be the same or very close to the Vulkan to make it easier to look at Vulkan examples and documentation and know what they map to on the VSG side and visa vera. So learning the two together is what I recommend. The VSG has only just reach it's first stable release, it's design and implementation evolved over the past 4 years with it converging towards what 1.0.x right up to release. There hasn't been been a general purpose scene graph for Vulkan before so how to go about implementation one is something we didn't have any prior art for. Unfortunately this means there isn't a body of work that we can point to as inspiration/what guided the design and implementation. This is really just the nature of R&D, you can't build everything at the same time. For learning the VSG from scratch today the best resources you'll have will be the VSG code base itself, the vsgExamples set and the last 4 and half years of discussions on the old vsg-users google group, and ancillary projects like vsgXchange, vsgImGui, vsgQt etc. Increasingly this new Discussion forum should also start filling out with discussions that will help inform new users about to tackle things. Vulkan resources will also come in very useful, search engines will be able to point you are the right places, just typing in VSG class names can often bring up to the appropriate Vulkan API docs thanks to the consistency of naming. This Discussion forum will also be invaluable. Open ended questions are the hardest to answer, Specific questions are often the easiest and ones that will help you get to a solution the quickest. A good measure of how effective a question is, is how many question you get in reply that are trying to figure out what you are actually asking about, If you get an answer right away then it's a good sign that you are asking questions in ways that are helpful to the ones that might be able to answer. In the case of how to "learn the VSG" this is quite open ended, the answers will depend greatly on your own level of experience in C++/CMake/Vulkan/OpenGL/Scene Graphs/Shaders and what your own project goals are. What you are wanting to achieve with your project is really helpful in the case of knowing how best to help you and what resources will be useful, and what strategy would be best for breaking down what you should learn first . The pathway through will be different for each application class. |
Beta Was this translation helpful? Give feedback.
-
Hi Robert, Thank you for the detailed answer. Best regards, |
Beta Was this translation helpful? Give feedback.
-
I am trying converting vulkan-example reporsitory to vsg example as exercises. I found it's a good way to learn vulkan. |
Beta Was this translation helpful? Give feedback.
-
Hi all,
Could you please suggest me how to learn VulkanSceneGraph efficiently without previous experience with OpenSceneGraph?
Does it make sense to start from learning OSG before starting with VSG? There are a lot of documentation and even books about OSG.
Documentation in https://github.com/vsg-dev/VulkanSceneGraph/tree/master/docs is mostly focused on differences of VSG from OSG and explains some architectural decisions, but it contains very limited information about library usage.
I have a limited experience with OpenGL, and I have no experience with Vulkan. Does it makes sense to start from learning Vulkan and only then switch to learning VSG?
Best regards,
Artem Kulyk
Beta Was this translation helpful? Give feedback.
All reactions