Heh well I guess the first step is triangulation, THEN opaque triangles.
Do you have any ideas on how you're going to specify triangles? I feel like the user would manually select a triangle by choosing the three vertices, and THAT's when the model should be gray. Points and edges would turn black once selected. Maybe you can use like a gray-black flashing cursor or something for that drawing so that it contrasts with both the gray and the black models.
The fact is that you'll almost definitely want user-selected triangles, rather than having to write any triangulation routines for arbitrary polygon selections (which would be a total bitch to write). You COULD write some triangulation routines, but I wouldn't recommend it.