# ScissorAttrib¶

class ScissorAttrib

Bases: RenderAttrib

This restricts rendering to within a rectangular region of the scene, without otherwise affecting the viewport or lens properties. Geometry that falls outside the scissor region is not rendered. It is akin to the OpenGL glScissor() function.

The ScissorAttrib always specifies its region relative to its enclosing DisplayRegion, in screen space, and performs no culling.

See ScissorEffect if you wish to define a region relative to 2-D or 3-D coordinates in the scene graph, with culling.

Inheritance diagram

static int get_class_slot(void)
static TypeHandle get_class_type(void)
LVecBase4 const &get_frame(void) const

Returns the left, right, bottom, top coordinates of the scissor frame. This defines a frame within the current DisplayRegion, where 0,0 is the lower-left corner of the DisplayRegion, and 1,1 is the upper-right corner.

bool is_off(void) const

Returns true if the ScissorAttrib is an ‘off’ ScissorAttrib, indicating that scissor testing is disabled.

ConstPointerTo<RenderAttrib> make(PN_stdfloat left, PN_stdfloat right, PN_stdfloat bottom, PN_stdfloat top)
static ConstPointerTo<RenderAttrib> make(LVecBase4 const &frame)

Constructs a ScissorAttrib that restricts rendering to the indicated frame within the current DisplayRegion. (0,0) is the lower-left corner of the DisplayRegion, and (1,1) is the upper-right corner.

static ConstPointerTo<RenderAttrib> make_default(void)

Returns a RenderAttrib that corresponds to whatever the standard default properties for render attributes of this type ought to be.

static ConstPointerTo<RenderAttrib> make_off(void)

Constructs a new ScissorAttrib object that removes the scissor region and fills the DisplayRegion.