-
Notifications
You must be signed in to change notification settings - Fork 98
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Updated render predicate docs (#438)
* Updated render predicate docs * Update material.md
- Loading branch information
Showing
3 changed files
with
25 additions
and
2 deletions.
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) | ||
``` | ||
|
||
![Render predicate](images/render/render_predicate.png){srcset="images/render/render_[email protected] 2x"} | ||
|
||
A detailed description on how materials work can be found in the [Material documentation](/manuals/material). | ||
|
||
|