- // eye_pt ist die Kameraposition
- // pt ist die Stelle, wo der Baum gepflanzt werden soll
- // diam, height: selbsterklärend
- procedure DrawTree (eye_pt, pt: t_point; diam, height: double);
- var normal: t_vector;
- begin
- glPushMatrix;
- glTranslatef (pt.x, pt.y, pt.z);
- normal := SubtractPoints (eye_pt, pt); // ??
- NormalizeVector (normal); // ??
- glNormal3f (normal.x, normal.y, normal.z); // ??
- glBegin (GL_QUADS );
- glTexCoord2f (0.0, 0.0);
- glVertex3f (-diam, 0.0, 0.0 );
- glTexCoord2f (1.0, 0.0 );
- glVertex3f (diam, 0.0, 0.0 );
- glTexCoord2f (1.0, 1.0 );
- glVertex3f (diam, height, 0.0 );
- glTexCoord2f (0.0, 1.0 );
- glVertex3f (-diam, height, 0.0 );
- // das Ganze noch einmal mit anderer Vertex-Reihenfolge, um
- // die Textur ein zweites Mal, um 90° gedreht, draufzusetzen
- glEnd;
- glPopMatrix;
- end;