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
- 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
.