ScissorEffect
from panda3d.core import ScissorEffect
- class ScissorEffect
Bases:
Bases:
RenderEffect
This provides a higher-level wrapper around
ScissorAttrib
. It allows for the scissor region to be defined via points relative to the current node, and also performs culling based on the scissor region.Inheritance diagram
- add_point(point: LPoint3, node: NodePath) RenderEffect
Returns a new
ScissorEffect
with the indicated point added. It is only valid to call this on a “node” typeScissorEffect
. The full set of points, projected into screen space, defines the bounding volume of the rectangular scissor region.Each point may be relative to a different node, if desired.
- static get_class_type() TypeHandle
- get_clip() bool
Returns true if this
ScissorEffect
actually enables scissoring, or false if it culls only.
- get_frame() LVecBase4
If
is_screen()
returns true, this method may be called to query the screen- based scissor frame. This is a series of left, right, bottom, top, representing the scissor frame relative to the currentDisplayRegion
. SeeScissorAttrib
.
- get_node(n: int) NodePath
Returns the node to which the nth point is relative, or empty
NodePath
to indicate the current node.
- get_num_points() int
Returns the number of node-based scissor points. See
get_point()
.
- get_point(n: int) LPoint3
If
is_screen()
returns false, thenget_num_points()
and get_point() may be called to query the node-based scissor frame. These return n points (at least two), which are understood to be in the space of this node, and which define any opposite corners of the scissor frame.
- is_screen() bool
Returns true if the
ScissorEffect
is a screen-based effect, meaningget_frame()
has a meaningful value, but get_a() and get_b() do not.
- static make_node(a: LPoint3, b: LPoint3, c: LPoint3, d: LPoint3, node: NodePath) RenderEffect
Constructs a new node-relative
ScissorEffect
. The four points are understood to be relative to the indicated node, or the current node if the indicatedNodePath
is empty, and determine four points surrounding the scissor region.
- static make_node(a: LPoint3, b: LPoint3, node: NodePath) RenderEffect
Constructs a new node-relative
ScissorEffect
. The two points are understood to be relative to the indicated node, or the current node if theNodePath
is empty, and determine the diagonally opposite corners of the scissor region.
- static make_node(clip: bool) RenderEffect
Constructs a new node-relative
ScissorEffect
, with no points. This emptyScissorEffect
does nothing. You must then calladd_point()
a number of times to add the points you require.
- static make_screen(frame: LVecBase4, clip: bool) RenderEffect
Constructs a new screen-relative
ScissorEffect
. The frame defines a left, right, bottom, top region, relative to theDisplayRegion
. SeeScissorAttrib
.