``````package OpenGL::Sandbox::V1::Quadric;

require OpenGL::Sandbox::V1; # automatically loads Quadric via XS

# ABSTRACT: Rendering parameters for various geometric shapes
our \$VERSION = '0.042'; # VERSION

__END__

=pod

=encoding UTF-8

OpenGL::Sandbox::V1::Quadric - Rendering parameters for various geometric shapes

version 0.042

GLU Quadrics are a funny name for a small object that holds a few rendering parameters for
another few geometry-plotting functions.  They provide a quick/convenient way to render some
simple polygon surfaces without messing with a bunch of trigonometry and loops.

Each of these is write-only.  They return the object for convenient chaining.

\$q->draw_style(\$x)  # GLU_FILL, GLU_LINE, GLU_SILHOUETTE, GL_POINT

You can also use aliases of:

=over

=item C<draw_fill>

=item C<draw_line>

=item C<draw_silhouette>

=item C<draw_point>

=back

\$q->normals(\$x)  # GLU_NONE, GLU_FLAT, GLU_SMOOTH

You can also use aliases of:

=over

=item C<no_normals>, or normals(0)

=item C<flat_normals>

=item C<smooth_normals>

=back

\$q->orientation(\$x)   # GLU_OUTSIDE, GLU_INSIDE

You can also use aliases of

=over

=item C<inside>

=item C<outside>

=back

\$q->texture(\$bool)    # GL_TRUE, GL_FALSE

Plot a sphere around the origin with specified dimensions.

Plot a hollow cylinder (without ends) along the Z axis with the specified dimensions.

Plot a flat circle around the Z axis along the XY plane.  Nonzero inner radius
"subtracts" a circle from the center.

\$q->partial_disk(\$inner, \$outer, \$slices, \$loops, \$start, \$sweep);

Plot a wedge of a disk around the Z axis.