|
From: Roger H. <rog...@mi...> - 2007-02-02 19:19:49
|
On 2 Feb, 2007, at 16:54, James W. Walker wrote: >> If the old renderer is continuing to be supported then fine, but if >> the >> new renderer is going to become a replacement then I would like >> TriMesh edges supported at least when the Fill Style is >> kQ3FillStyleEdges. >> >> Much less important, but it would be nice if vertices could still be >> supported when Fill Style is kQ3FillStylePoints. > > I'm not sure we're on the same wavelength. Of course > kQ3FillStyleEdges and kQ3FillStylePoints will be supported. I'm > talking about the edges that can be specified explicitly in > TQ3TriMeshData. This is my wavelength: In the caching code everything gets reduced to either markers, points, lines, trinagles or trimeshes. Most things become trimeshes. Trimeshes have explicit edges. There are no implicit edges. We use kQ3FillStyleEdges to give the users a wire frame view, and we also use an embeded kQ3FillStyleEdges to show a wire frame on top of a geometry when editing certain geometries so the user can see the edges and vertices he can move. This is done in a view where all the other geometries are drawn solid. If you do not implement edges in Trimeshes, none of this will work with your new renderer and I will have to use the old one, which is fine as long as it is still supported. Trimeshes have three collections of objects: vertices, edges and triangles. The triangles themselves do themselves generate lines, otherwise as most triangles abut other triangles, for each edge it would get drawn twice, once for each triangle either side of it. This would I think double the size of the data passed to OpenGL when doing a wire frame render, though of course this is quite fast anyway, but when a cube is cached as a trimesh, it SHOULD (though not currently) generate edges for the twelve edges of the cube and should generate twelve triangles, but it should not generate edges along the split of each square face of the cube. Currently it generates nothing and cube actually disappear on wire frame, which is something we have been apologising for for the last few years. We try to get our users not use the cuboid data structure for this reason and use a group of six polygons instead. Similarly, in wire frame, do you really want to see the tesselation of a polygon or just the edges? Roger. |