53 |
This is important for some of our user interfaces. |
This is important for some of our user interfaces. |
54 |
[ screenshot from fillets demo showing both wireframe and normal ] |
[ screenshot from fillets demo showing both wireframe and normal ] |
55 |
|
|
56 |
Fig.4. A more flexible algorithm for creating filleted shapes. |
Fig.4. The mathematics behind a more flexible algorithm for creating |
57 |
This algorithm has to create the shape from polygons instead |
filleted shapes. This algorithm creates the shape from polygons instead |
58 |
of prerendered textures. |
of prerendered textures by shifting the vertices in a vertex program. |
59 |
|
|
60 |
Fig.5. How edges of constant thickness and even of textures can be drawn |
Fig.5. How edges of constant thickness and even of textures can be drawn |
61 |
for the general polygonized shape using the Z buffer. |
for the general polygonized shape using the Z buffer. |
67 |
Fig.6. A random, badly laid out graph rendered using the polygonized |
Fig.6. A random, badly laid out graph rendered using the polygonized |
68 |
algorithm. To demonstrate the edge-drawing system, we have used a 1D |
algorithm. To demonstrate the edge-drawing system, we have used a 1D |
69 |
texture on the edge, creating two thin lines on the edges. The shapes |
texture on the edge, creating two thin lines on the edges. The shapes |
70 |
are unbroken. |
are unbroken. Using features of the GPU this figure is drawn very quickly. |
71 |
|
|
72 |
Fig.7. Of course, since we're bevelling inside, we *can*, if we want to, |
Fig.7. Of course, since we're bevelling the edge anyway, we *can*, if |
73 |
also show the bevels using light. However, the angles of the bevels |
we want to, also show the bevels using lighting. Naturally, the angles of |
74 |
seen in the image need not correspond at all to the actual angles |
the bevels seen in the image need not correspond at all to the actual |
75 |
in the Z-buffer. |
angles in the Z-buffer. |
76 |
|
|
77 |
|
|
78 |
|
|