VARKON Version 1.15 1997-10-16

### The bounded plane

VARKON includes a simple planar surface called B-plane. A B-plane is defined by four positions in the following manner.....
b_plane(id,p1,p2,p3,p4);
p1 through p4 are considered as vertices of a planar polygon and must therefore all be positions in one and the same plane. VARKON also expects the polygon to be convex. With four different positions VARKON creates a plane bounded by four straight lines but if p2 is set equal to p3 then a three sided plane is created.
B-planes can be used when generating intersects but the main purpose is to make it possible to produce images with automatic removal of hidden lines. B-planes have two sides where one is regarded as the outside and the other as the inside. If viewed from the outside a B-plane will hide everything behind it. Wireframe objects as well as other B-planes and sculptured surfaces are all clipped to the borders of the B-plane. If viewed from the inside a B-plane doesn't hide anything. In many respects a B-plane is thus the same thing as a planar face in a solid modeller.
When VARKON creates an image with hidden lines removed it will only display those parts of the model that are not hidden by B-planes but it will also add and display all visible B-plane/B-plane intersects automatically. This means that if you dress two wireframe objects with B-planes and let the objects intersect then VARKON will produce the same image with hidden lines removed and new edges added as would be the result if using a true faceted solid modeller.
Many VARKON applications use B-planes to produce realistic images. For objects with complex shape this may require large numbers of B-planes. Due to the simple implementation of B-planes though the algorithm for removal of hidden lines is very fast and scales almost linearly. One thousand B-planes are processed in 2 seconds on a PC with a 90 Mhz Pentium processor.

The VARKON shader (based on OpenGL) can be used to produce shaded images of surfaces as well as B-planes.

VARKON Homepage | Index