Create the "Rendering pipeline" overview page#11833
Open
thibault wants to merge 1 commit intogodotengine:masterfrom
Open
Create the "Rendering pipeline" overview page#11833thibault wants to merge 1 commit intogodotengine:masterfrom
thibault wants to merge 1 commit intogodotengine:masterfrom
Conversation
This pages serves as a global introduction to the way the graphic pipeline works.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds a new tutorial page, The rendering pipeline, as the first entry in the Shaders section.
It serves as an introduction to the graphics pipeline and explains many foundational concepts in 3D rendering.
Hence it does not directly relate to a specific Godot topic, but serves a similar intent to other existing tutorials like the ones about linear algebra or matrices and transformations.
Why I think this page is needed
I'm somewhat new to Godot (1 year) and have been building a 3D game that relies heavily on compute shaders and custom rendering. Godot was my entry point into game development and I had no prior knowledge of shaders or how basic 3D rendering works.
During development, I repeatedly hit areas where the official documentation assumed GPU knowledge it did not really provide. I often found myself reading engine source code to piece together foundational concepts that weren't covered in the manual yet, or looking for clarifications on forums or Reddit.
Godot does a great deal of abstracting away the pipeline, which is helpful for beginners. But it can leave users without the vocabulary they need to tackle more technical topics later on.
I had trouble understanding some parts of the manual, and it only "clicked" when I got a better understanding of the general pipeline:
Users who already understand GPU rendering find Godot's docs adequate, while users who don't, need to look for this knowledge elsewhere.
I'd wager many Godot users are like me: Godot is their entry point into game dev and 3D rendering, and the excellent Godot documentation is a reference for all related topics. For such users, I think not having some basic explanation about foundational 3D rendering concepts is a gap.
My intent is to help fill that gap by providing the missing foundation directly where readers need it — right before they encounter shaders for the first time.
Approach
I tried to follow these guidelines:
Simplification. This is quite a complex topic but I tried to make it understandable to newcomers by simplifying it without dumbing it down.
Connecting to Godot. I tried to achieve a good balance between staying unspecific (as this is general knowledge) but also linking to specific Godot systems or options when I thought it would be relevant. I also tried to focus the page on concepts that could directly be useful to Godot users.
Self-contained. I tried to formulate the content in a way that would not require readers to fetch some missing information elsewhere.
Flowing. I also tried to structure the page so no concepts would be used before being explained.
Aimed at beginners. I tried to assume no knowledge from readers, and to make the content accessible to users with the most basic level of 3D rendering.
A few questions
A few open questions where I could benefit from feedback.
Word count. The page is around 2100 words which exceeds the 1000-word guideline. I considered splitting but couldn't find a way that it would feel right.
Toc placement. I was not sure where to put the page in the toc tree, since this is a general knowledge topic. It felt right to put it before shaders are introduced.
Illustration. I initially drafted a few illustrations but a single one remains. I couldn't find ways to convey better information with other images. Let me know if any section would benefit from a diagram.
Links. I feel a few places in Godot's documentation could link to this page, but I didn't know if this very PR was the correct place to do it.
AI disclosure
I used Claude throughout this contribution with the following tasks:
I was adamant to not submit AI slop, spent about three days on this content and iterated dozens of times until I was satisfied. The content, structure, and editorial judgment are mine and I'm a human (what a crazy thing to have to say).
So…
I really fell in love with Godot and this is my first real contribution attempt. I tried to follow the guidelines and hope I didn't forget anything.
I did my best to not waste maintainers' time and am ready to tackle suggestions you might have. Thank you for your attention.