[ Previous | Next | Contents | Glossary | Home | Search ]
GL3.2 for AIX: Graphics Library (GL) Technical Reference

## pdr Subroutine

### Purpose

Specifies the next point in a filled polygon.

### Libraries

Graphics Library

C (libgl.a)

FORTRAN (libfgl.a)

### C Syntax

```void pdr
(Coord x, Coord y, Coord z)```
```void pdri
(Icoord x, Icoord y, Icoord z)```
```void pdrs
(Scoord x, Scoord y, Scoord z)```
```void pdr2
(Coord x, Coord y)```
```void pdr2i
(Icoord x, Icoord y)```
```void pdr2s
(Scoord x, Scoord y)```

### FORTRAN Syntax

```SUBROUTINE PDR(x, y, z)
REAL x, y, z```
```SUBROUTINE PDRI(x, y, z)
INTEGER*4 x, y, z```
```SUBROUTINE PDRS(x, y, z)
INTEGER*2 x, y, z```
```SUBROUTINE PDR2(x, y)
REAL x, y```
```SUBROUTINE PDR2I(x, y)
INTEGER*4 x, y```
```SUBROUTINE PDR2S(x, y)
INTEGER*2 x, y```
Note: For FORTRAN users, the INTEGER*2 versions of this subroutine, PDRS and PDR2S, should not be called with integer constant parameters. For example, 2 is an integer constant; JJ is an integer variable. The XL FORTRAN compiler, invoked by the xlf command, stores all integer constants as long integers (INTEGER*4), not as short integers (INTEGER*2). Invoking one of the short versions of this subroutine with an integer constant will result in unexpected behavior.

### Description

The pdr subroutine specifies the next point of a polygon. When the subroutine is executed, it draws a line to the specified point (x, y, z), which then becomes the current graphics position. The next call to the pdr subroutine starts drawing from that point.

To draw a typical polygon, start with a call to the pmv subroutine, follow it with a sequence of calls to the pdr subroutine, and end it with a call to the pclos subroutine.

There can be no more than 256 vertices in a polygon. Therefore, there can be no more than 255 calls to the pdr subroutine between calls to the pmv and pclos subroutines.

The six different forms for the pdr subroutine are as follows:

 2-D 3-D Int16 pdr2s pdrs Int32 pdr2i pdri float pdr2 pdr

The syntax for each of the subroutine forms is the same except for the parameter type. They differ only in that pdr expects real coordinates, pdri expects integer coordinates, and pdrs expects short integer coordinates. In addition, the pdr2 routines assume a 2-D point instead of a 3-D point.

### Parameters

 x Specifies the x coordinate of the next defining point for the polygon. y Specifies the the y coordinate of the next defining point for the polygon. z Specifies the z coordinate of the next defining point for the polygon.

### Example

The example C language program zbuffer1.c uses the pdr subroutine to draw the edges of a filled polygon.

### Implementation Specifics

This subroutine is part of GL in the AIXwindows Environment/6000 Version 1, Release 2 with AIXwindows/3D Feature.

### Files

 /usr/include/gl/gl.h Contains C language constant and variable type definitions for GL. /usr/include/gl/fgl.h Contains FORTRAN constant and variable type definitions for GL.

### Related Information

Moving the current graphics position to a point relative to the current point with the rmv subroutine.

Drawing a relative polygon with the rpdr subroutine.

Moving the current graphics position to a starting point for a filled polygon relative to the current point with the rpmv subroutine.

Specifying the starting point for a polygon with the pmv subroutine.

AIX Graphics Library Overview, Drawing with Move-Draw Style Subroutines, and Setting Drawing Attributes.

[ Previous | Next | Contents | Glossary | Home | Search ]