★ wanayoo — archive 1999 https://github.com/Overv/VulkanTutorial/issues/153Nouvelle recherche | Portail wanayoo
Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Best Practices For Dynamic Scenes #153

Open
kklouzal opened this issue Oct 25, 2019 · 2 comments
Open

Best Practices For Dynamic Scenes #153

kklouzal opened this issue Oct 25, 2019 · 2 comments

Comments

@kklouzal
Copy link

@kklouzal kklouzal commented Oct 25, 2019 •

Your tutorials seem to be focused on building one single static scene and doesn't elaborate on how to draw objects after everything is setup and running.

A chapter on 'Best Practices For Dynamic Scenes' might be a good starting point for people after they have mastered the current set of chapters.

I can only assume after mastering your tutorials is that we need a way to submit commands to our command buffers after-the-fact, but what is a good approach to take when doing this? Do we need to completely flush a command buffer and resubmit all commands for every object in the scene? Should buffers be split up into groups depending on how likely we are to add/remove objects from the buffer?

A chapter exploring these ideas would be extremely valuable to newcomers to Vulkan, especially since your tutorials are the best around.

@lewa-j
Copy link

@lewa-j lewa-j commented Oct 25, 2019

Additionally, it would be useful to describe the implementation of culling.

@kklouzal
Copy link
Author

@kklouzal kklouzal commented Oct 25, 2019 •

From what I can gather, a typical approach is to give each 'game object' their own sub command buffer (level 3), which would be sub command buffers of 'similar game objects' (level 2), which are ultimately grouped by a megalithic main command buffer (level 1).

Culling mechanisms can be put in place to determine if these buffers get used or not but we have to walk before we run here and culling is a pretty advanced feature from where i'm standing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants
You can’t perform that action at this time.