ComputeNode

from panda3d.core import ComputeNode
class ComputeNode

Bases:

Bases: PandaNode

A special node, the sole purpose of which is to invoke a dispatch operation on the assigned compute shader.

Inheritance diagram

Inheritance diagram of ComputeNode

__init__(name: str)

Creates a ComputeNode with the given name. Use add_dispatch() and also assign a shader using a ShaderAttrib.

add_dispatch(num_groups: LVecBase3i)

Adds a dispatch command with the given number of work groups in the X, Y, and Z dimensions. Any of these values may be set to 1 if the respective dimension should not be used.

add_dispatch(num_groups_x: int, num_groups_y: int, num_groups_z: int)

Adds a dispatch command with the given number of work groups in the X, Y, and Z dimensions. Any of these values may be set to 1 if the respective dimension should not be used.

clear_dispatches()

Removes all dispatch commands.

property dispatches Sequence[LVecBase3i]

Returns/Sets the group counts of the nth dispatch associated with this object.

static get_class_type() TypeHandle
get_dispatch(i: int) LVecBase3i

Returns the group counts of the nth dispatch associated with this object.

get_dispatches() list
get_num_dispatches() int

Returns the number of times add_dispatch() has been called on this object.

insert_dispatch(i: int, num_groups: LVecBase3i)

Inserts a dispatch command with the given number of work groups in the X, Y, and Z dimensions at the given position in the list of dispatch commands. Any of these values may be set to 1 if the respective dimension should not be used.

remove_dispatch(i: int)

Erases the given dispatch index from the list.

set_dispatch(i: int, num_groups: LVecBase3i)

Sets the group counts of the nth dispatch associated with this object.