ScissorEffect¶
from panda3d.core import ScissorEffect
-
class
ScissorEffect
¶ 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
-
addPoint
(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
getClassType
() → TypeHandle¶
-
getClip
() → bool¶ Returns true if this
ScissorEffect
actually enables scissoring, or false if it culls only.
-
getFrame
() → LVecBase4¶ If
isScreen()
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
.
-
getNode
(n: int) → NodePath¶ Returns the node to which the nth point is relative, or empty
NodePath
to indicate the current node.
-
getNumPoints
() → int¶ Returns the number of node-based scissor points. See
getPoint()
.
-
getPoint
(n: int) → LPoint3¶ If
isScreen()
returns false, thengetNumPoints()
andgetPoint()
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.
-
isScreen
() → bool¶ Returns true if the
ScissorEffect
is a screen-based effect, meaninggetFrame()
has a meaningful value, but get_a() and get_b() do not.
-
static
makeNode
(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
makeNode
(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
makeNode
(clip: bool) → RenderEffect Constructs a new node-relative
ScissorEffect
, with no points. This emptyScissorEffect
does nothing. You must then calladdPoint()
a number of times to add the points you require.
-
static
makeScreen
(frame: LVecBase4, clip: bool) → RenderEffect¶ Constructs a new screen-relative
ScissorEffect
. The frame defines a left, right, bottom, top region, relative to theDisplayRegion
. SeeScissorAttrib
.
-