Magic Mailing List |
|
From: R. Timothy Edwards (tim AT stravinsky DOT jhuapl.edu) Date: Thu Jul 10 2003 - 17:34:54 EDT
Dear Stefan, The one question I have an answer for is why the CIF view of the 3D layout comes out flat. This is because the CIF rendering must be defined in the tech file in the "cifoutput" section, and it's only defined right now for the scmos.tech file that comes with the magic distribution. It's fairly easy to put the section in, though. It's required because magic only has styles defined for magic layers, not for CIF layers. The "render" keyword in the "cifoutput" section matches drawing styles to each CIF layer. The syntax is: render <CIF-layer> <style> <height> <thickness> Where height and thickness can be floating-point. They are essentially dimensionless, as the numbers are only used for display. As an example, the values from scmos.tech are: render CWN 12 -0.2 0.2 render CAA 2 -0.15 0.15 render CPG 1 0.025 0.05 render CEL 14 0.1 0.05 render CCC 19 0.0 0.2 render CCA 19 0.0 0.2 render CCP 19 0.075 0.125 render CMF 20 0.2 0.05 render CVA 19 0.25 0.05 render CMS 21 0.3 0.05 ------------------ As for the other weirdnesses, they could be the fault of OS X's OpenGL driver, although I wouldn't swear that I haven't done something incorrect which just happens to work with the Matrox and NVidia drivers. Right now, that's 2 out of 3. I'll go downstairs in a moment and see what Cygwin thinks of it, if I can get it to compile. That will be a 4th datapoint. One thing to check---what happens if the 3d window doesn't overlap the layout window? Some video cards like to have a single rectangle to render into, and if the rendering area is non- rectangular, as when the window is partially overlapped by another, then the rendering goes through another layer of processing. This is all done by glX, the rather clumsy interface between X11 and OpenGL. The freezing up condition I have seen before, and suspect I have a race condition in the code which I have not yet tracked down. As for the toolbar, that's yet another thing, involving so-called "off-screen rendering" functions in OpenGL. OpenGL renders into a pixmap instead of directly to the screen, and then the pixmap is rendered normally by X11. There are various ways for this to go wrong, too, and I've already come across one video driver which didn't do it right, and made the developers fix it. Regards, Tim
|
|