# RenderModeAttrib¶

class RenderModeAttrib

Bases: RenderAttrib

Specifies how polygons are to be drawn.

Inheritance diagram

enum Mode
enumerator M_unchanged = 0
enumerator M_filled = 1

Normal, filled polygons.

enumerator M_wireframe = 2

Wireframe polygons, possibly with thickness.

enumerator M_point = 3

Points at vertices only, possibly with thickness andor perspective sizing.

enumerator M_filled_flat = 4

Filled polygons, without any particular emphasis on perspective correctness (a particularly useful designation for software rendering sprites).

enumerator M_filled_wireframe = 5

Filled polygons with wireframe rendered in front. The wireframe is given a solid color.

static int get_class_slot(void)
static TypeHandle get_class_type(void)
int get_geom_rendering(int geom_rendering) const

Returns the union of the Geom::GeomRendering bits that will be required once this RenderModeAttrib is applied to a geom which includes the indicated geom_rendering bits.

Mode get_mode(void) const

Returns the render mode.

bool get_perspective(void) const

Returns the perspective flag. When this is true, the point thickness represented by get_thickness() is actually a width in 3-d units, and the points should scale according to perspective. When it is false, the default, the point thickness is actually a width in pixels, and points are a uniform size regardless of distance from the camera.

PN_stdfloat get_thickness(void) const

Returns the line width or point thickness. This is only relevant when rendering points or lines, such as when the mode is M_wireframe or M_point (or when rendering actual points or lines primitives in M_polygon mode).

LColor const &get_wireframe_color(void) const

Returns the color that is used in M_filled_wireframe mode to distinguish the wireframe from the rest of the geometry.

static ConstPointerTo<RenderAttrib> make(RenderModeAttrib::Mode mode, PN_stdfloat thickness = 1.0, bool perspective = false, LColor const &wireframe_color = LColor::zero())

Constructs a new RenderModeAttrib object that specifies whether to draw polygons in the normal, filled mode, or wireframe mode, or in some other yet-to-be-defined mode.

The thickness parameter specifies the thickness to be used for wireframe lines, as well as for ordinary linestrip lines; it also specifies the diameter of points. (Thick lines are presently only supported in OpenGL; but thick points are supported on either platform.)

If perspective is true, the point thickness represented is actually a width in 3-d units, and the points should scale according to perspective. When it is false, the point thickness is actually a width in pixels, and points are a uniform screen size regardless of distance from the camera.

In M_filled_wireframe mode, you should also specify the wireframe_color, indicating the flat color to assign to the overlayed wireframe.

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.