-
Notifications
You must be signed in to change notification settings - Fork 352
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
Rendering summary #1080
base: main
Are you sure you want to change the base?
Rendering summary #1080
Conversation
Though the check passed, could you fix the mega-linter Markdown warnings? |
Do docs editors have a preference on filled vs unfilled paragraphs? |
Overall feelings: really useful, not particularly user-approachable. I'll chew on the best way to digest this information into a format that matches the rest of the book.
Not currently no. |
content/learn/book/graphics/rendering-internals/technical-summary.md
Outdated
Show resolved
Hide resolved
content/learn/book/graphics/rendering-internals/technical-summary.md
Outdated
Show resolved
Hide resolved
content/learn/book/graphics/rendering-internals/technical-summary.md
Outdated
Show resolved
Hide resolved
content/learn/book/graphics/rendering-internals/technical-summary.md
Outdated
Show resolved
Hide resolved
content/learn/book/graphics/rendering-internals/technical-summary.md
Outdated
Show resolved
Hide resolved
Ahhhh so sorry for the spam, I intended to start a review! 🤦♂️ |
I appreciate the help no matter the format! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok I've now finished my first pass. I've of course ignored all the TODO sections.
content/learn/book/graphics/rendering-internals/technical-summary.md
Outdated
Show resolved
Hide resolved
content/learn/book/graphics/rendering-internals/technical-summary.md
Outdated
Show resolved
Hide resolved
content/learn/book/graphics/rendering-internals/technical-summary.md
Outdated
Show resolved
Hide resolved
content/learn/book/graphics/rendering-internals/technical-summary.md
Outdated
Show resolved
Hide resolved
content/learn/book/graphics/rendering-internals/technical-summary.md
Outdated
Show resolved
Hide resolved
content/learn/book/graphics/rendering-internals/technical-summary.md
Outdated
Show resolved
Hide resolved
content/learn/book/graphics/rendering-internals/technical-summary.md
Outdated
Show resolved
Hide resolved
content/learn/book/graphics/rendering-internals/technical-summary.md
Outdated
Show resolved
Hide resolved
content/learn/book/graphics/rendering-internals/technical-summary.md
Outdated
Show resolved
Hide resolved
content/learn/book/graphics/rendering-internals/technical-summary.md
Outdated
Show resolved
Hide resolved
Thank you so much! I've addressed your feedback. Going to start filling in some more of the TODO sections, and making notes for new topics to cover for the 0.14 release. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Obligatory half of these are IMHO
|
||
#### Shaders | ||
Shaders are small highly-specialized programs that run on the GPU within the | ||
programmable stages of pipelines. They are written in a language `WGSL`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"They are written in the WGSL
language"
link to https://www.w3.org/TR/WGSL/ or maybe the book page on it
Communication between the CPU and the GPU is asyncronuous; the CPU dispatches | ||
commands to the GPU and must wait for the GPU to finish it's workload and | ||
transmit a response. We'll reffer to these as GPU commands to differentiate them | ||
from bevy ECS commands. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"bevy ECS commands" needs link. also Bevy should be capitalized.
### Commands and Passes | ||
Communication between the CPU and the GPU is asyncronuous; the CPU dispatches | ||
commands to the GPU and must wait for the GPU to finish it's workload and | ||
transmit a response. We'll reffer to these as GPU commands to differentiate them |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
put "GPU commands" in quotes or italics maybe.
[`TrackedRenderPass`]: https://docs.rs/bevy/latest/bevy/render/render_phase/struct.TrackedRenderPass.html | ||
|
||
#### Parallel Command Encoding | ||
As covered in the `wgpu` preliminary, rendering involves queuing render commands |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
add internal link back to the wgpu preliminary header
main app or the render sub app. It effectively locks both worlds, and is the | ||
only part of bevy that can bottleneck both game logic and rendering. Bevy takes | ||
great pains to keep the extract schedule as slim and efficient as possible, and | ||
users should attempt to keep systems the extract schedule small. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
missing an "in"
This PR adds a summary of the bevy's rendering crates as of 0.13. It is a work in progress, and absolutely contains omissions and mistakes. Please let me know if you find any. Feedback on both content and presentation is welcome!
The goal is to cover the most important aspects of
bevy_render
,bevy_core_pipeline
andbevy_pbr
in order. Each crate is discussed in isolation, using only concepts introduced by it's dependencies. When this is complete (hopefully well before 0.14), I'd like to split this content up between the bevy book and the module docs of the relevant crates.RENDERED