Class Scene
Base class of scenes.
It contains methods for recursively drawing and updating nodes. You need to inherit from the Scene class to create your own scene object.
Functions
scene:init () | The public constructor. |
scene:render_nodes (node, environment[, renderstates[, filter]]) | Node render function. |
scene:update_nodes (node, environment) | Node update function. |
Functions
- scene:init ()
- The public constructor.
- scene:render_nodes (node, environment[, renderstates[, filter]])
-
Node render function.
Recursively renders all nodes in the hierarchy with proper sorting and filtering.
Parameters:
- node menori.Node Node to start rendering from
- environment menori.Environment Rendering environment containing camera and other settings
- renderstates table Table containing render states and canvas configuration (optional)
- filter function Callback function for custom node filtering during render (optional)
Returns:
-
number
Number of rendered drawable nodes
Usage:
-- Basic usage with default parameters local count = scene:render_nodes(root_node, environment) -- With custom render states local renderstates = { canvas1, canvas2, -- canvases to render to clear = true, -- clear before rendering colors = {color, ...}, -- clear color node_sort_comp = custom_sort_function } scene:render_nodes(root_node, environment, renderstates) -- With custom filter function local function custom_filter(node, scene, environment) if node.visible then node:render(scene, environment) end end scene:render_nodes(root_node, environment, nil, custom_filter)
- scene:update_nodes (node, environment)
-
Node update function.
Parameters:
- node Node
- environment Environment