Geometric Object Rendering

Geometric Object Rendering — Functions for generating easily recognizable 3D geometric objects

Synopsis


#include <gdk/gdkgl.h>

void                gdk_gl_draw_cube                    (gboolean solid,
                                                         double size);
void                gdk_gl_draw_sphere                  (gboolean solid,
                                                         double radius,
                                                         int slices,
                                                         int stacks);
void                gdk_gl_draw_cone                    (gboolean solid,
                                                         double base,
                                                         double height,
                                                         int slices,
                                                         int stacks);
void                gdk_gl_draw_torus                   (gboolean solid,
                                                         double inner_radius,
                                                         double outer_radius,
                                                         int nsides,
                                                         int rings);
void                gdk_gl_draw_tetrahedron             (gboolean solid);
void                gdk_gl_draw_octahedron              (gboolean solid);
void                gdk_gl_draw_dodecahedron            (gboolean solid);
void                gdk_gl_draw_icosahedron             (gboolean solid);
void                gdk_gl_draw_teapot                  (gboolean solid,
                                                         double scale);

Description

Details

gdk_gl_draw_cube ()

void                gdk_gl_draw_cube                    (gboolean solid,
                                                         double size);

Renders a cube. The cube is centered at the modeling coordinates origin with sides of length size.

solid :

TRUE if the cube should be solid.

size :

length of cube sides.

gdk_gl_draw_sphere ()

void                gdk_gl_draw_sphere                  (gboolean solid,
                                                         double radius,
                                                         int slices,
                                                         int stacks);

Renders a sphere centered at the modeling coordinates origin of the specified radius. The sphere is subdivided around the Z axis into slices and along the Z axis into stacks.

solid :

TRUE if the sphere should be solid.

radius :

the radius of the sphere.

slices :

the number of subdivisions around the Z axis (similar to lines of longitude).

stacks :

the number of subdivisions along the Z axis (similar to lines of latitude).

gdk_gl_draw_cone ()

void                gdk_gl_draw_cone                    (gboolean solid,
                                                         double base,
                                                         double height,
                                                         int slices,
                                                         int stacks);

Renders a cone oriented along the Z axis. The base of the cone is placed at Z = 0, and the top at Z = height. The cone is subdivided around the Z axis into slices, and along the Z axis into stacks.

solid :

TRUE if the cone should be solid.

base :

the radius of the base of the cone.

height :

the height of the cone.

slices :

the number of subdivisions around the Z axis.

stacks :

the number of subdivisions along the Z axis.

gdk_gl_draw_torus ()

void                gdk_gl_draw_torus                   (gboolean solid,
                                                         double inner_radius,
                                                         double outer_radius,
                                                         int nsides,
                                                         int rings);

Renders a torus (doughnut) centered at the modeling coordinates origin whose axis is aligned with the Z axis.

solid :

TRUE if the torus should be solid.

inner_radius :

inner radius of the torus.

outer_radius :

outer radius of the torus.

nsides :

number of sides for each radial section.

rings :

number of radial divisions for the torus.

gdk_gl_draw_tetrahedron ()

void                gdk_gl_draw_tetrahedron             (gboolean solid);

Renders a tetrahedron centered at the modeling coordinates origin with a radius of the square root of 3.

solid :

TRUE if the tetrahedron should be solid.

gdk_gl_draw_octahedron ()

void                gdk_gl_draw_octahedron              (gboolean solid);

Renders a octahedron centered at the modeling coordinates origin with a radius of 1.0.

solid :

TRUE if the octahedron should be solid.

gdk_gl_draw_dodecahedron ()

void                gdk_gl_draw_dodecahedron            (gboolean solid);

Renders a dodecahedron centered at the modeling coordinates origin with a radius of the square root of 3.

solid :

TRUE if the dodecahedron should be solid.

gdk_gl_draw_icosahedron ()

void                gdk_gl_draw_icosahedron             (gboolean solid);

Renders a icosahedron. The icosahedron is centered at the modeling coordinates origin and has a radius of 1.0.

solid :

TRUE if the icosahedron should be solid.

gdk_gl_draw_teapot ()

void                gdk_gl_draw_teapot                  (gboolean solid,
                                                         double scale);

Renders a teapot. Both surface normals and texture coordinates for the teapot are generated. The teapot is generated with OpenGL evaluators.

solid :

TRUE if the teapot should be solid.

scale :

relative size of the teapot.