-
Notifications
You must be signed in to change notification settings - Fork 107
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
Updated render predicate docs #438
Merged
Merged
Changes from all commits
Commits
Show all changes
2 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
Binary file not shown.
Binary file not shown.
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -37,9 +37,32 @@ To be able to control the draw order of objects, you create render _predicates_. | |
|
||
Each object that is drawn onto the screen has a material attached to it that controls how the object should be drawn to the screen. In the material, you specify one or more _tags_ that should be associated with the material. | ||
|
||
In your render script, you can then create a *render predicate* and specify which tags should belong to that predicate. When you tell the engine to draw the predicate, each object with a material containing a tag matching the list specified for the predicate will be drawn. | ||
In your render script, you can then create a *render predicate* and specify which tags should belong to that predicate. When you tell the engine to draw the predicate, each object with a material containing all of the tags specified for the predicate will be drawn. | ||
|
||
``` | ||
Sprite 1 Sprite 2 Sprite 3 Sprite 4 | ||
Material A Material A Material B Material C | ||
outlined outlined greyscale outlined | ||
tree tree tree house | ||
``` | ||
|
||
```lua | ||
-- a predicate matching all sprites with tag "tree" | ||
local trees = render.predicate({"tree"}) | ||
-- will draw Sprite 1, 2 and 3 | ||
render.draw(trees) | ||
|
||
-- a predicate matching all sprites with tag "outlined" | ||
local outlined = render.predicate({"outlined"}) | ||
-- will draw Sprite 1, 2 and 4 | ||
render.draw(outlined) | ||
|
||
-- a predicate matching all sprites with tags "outlined" AND "tree" | ||
local outlined_trees = render.predicate({"outlined", "tree"}) | ||
-- will draw Sprite 1 and 2 | ||
render.draw(outlined_trees) | ||
``` | ||
|
||
{srcset="images/render/[email protected] 2x"} | ||
|
||
A detailed description on how materials work can be found in the [Material documentation](/manuals/material). | ||
|
||
|
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.
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.
I did not have time to update the images. This is better than nothing.