#include <ri.h>

#define L -.5       /* For x: left side     */
#define R  .5       /* For x: right side    */
#define D -.5       /* For y: down side     */
#define U  .5       /* For y: upper side    */
#define F  .5       /* For z: far side      */
#define N -.5       /* For z: near side     */

/* UnitCube(): define a cube in the graphics environment */
UnitCube()
{
    static RtPoint Cube[6][4] = {
        { {L,D,F},  {L,D,N},  {R,D,N},  {R,D,F} },   /* Bottom face  */
        { {L,D,F},  {L,U,F},  {L,U,N},  {L,D,N} },   /* Left face    */
        { {R,U,N},  {L,U,N},  {L,U,F},  {R,U,F} },   /* Top  face    */
        { {R,U,N},  {R,U,F},  {R,D,F},  {R,D,N} },   /* Right face   */
        { {R,D,F},  {R,U,F},  {L,U,F},  {L,D,F} },   /* Far face     */
        { {L,U,N},  {R,U,N},  {R,D,N},  {L,D,N} }    /* Near face    */
    };
    int i;
    for( i = 0; i < 6; i++)  /* Declare the cube  */
        RiPolygon( (RtInt) 4, RI_P, (RtPointer) Cube[i], RI_NULL);    
}