[gl2ps] Problem with BSP printing (reason found)
Shahzad MUZAFFAR
Shahzad.Muzaffar at cern.ch
Tue Feb 14 14:30:28 CET 2006
I have test the fix you have provided and that works but not for scene
graphs which are very far from the camera. I have put the generated eps
file here
1) The actual scene.
http://cmsdoc.cern.ch/~muzaffar/gl2ps/actual.eps
2) With fix you have provided
http://cmsdoc.cern.ch/~muzaffar/gl2ps/with_fix_from_C.Geuzaine.eps
If you zoom in a lot (zoom 64x64) using the ghostview then you will
noticed that some triangles should not be seen.
- With fix you have provided + limiting the scaleZ to be max of 100000
http://cmsdoc.cern.ch/~muzaffar/gl2ps/with_fix_from_C.Geuzaine_AndscaleZ100000.eps
And here if you zoom in then scene looks the actual one.
Cheers,
--Shahzad
Christophe Geuzaine wrote:
> Shahzad MUZAFFAR wrote:
>
>> Hello,
>> I have already mentioned (in one of my previous email) about the
>> problem with BSP printing not working properly in 1.2.3 and up
>> releases (i.e. printing in reverse order). I think I have found the
>> reason. The problem is in the gl2psRescaleAndOffset() method. The
>> problem occurs when the scaleZ becomes > 100000. Because at scaleZ >
>> 100000 the z-coordinates of all primitive become > 100000 which is
>> above the EYE set in the gl2psPrintPrimitives() method. Thats why we
>> see eps/pdf files printed in reverse order.
>>
>> I have added this line in gl2psRescaleAndOffset() method
>>
>> if (scaleZ > 100000.F) scaleZ=100000;
>>
>> to force the Z scaling. And now printing works properly. Cheers,
>
>
> I see... The root of the problem is that I forgot to subtract the minZ
> coordinate in the rescaling! I think the "real" fix should thus be to
> replace
>
> prim->verts[j].xyz[2] = prim->verts[j].xyz[2] * scaleZ;
>
> with
>
> prim->verts[j].xyz[2] = (prim->verts[j].xyz[2] - minZ) * scaleZ;
>
> This way the z-buffer coordinate will be in [0, GL2PS_ZSCALE] (that's
> what was intended). Could you try this alternative fix and tell me if
> it also fixes the bug?
>
> Many thanks!
>
> Christophe
>
>
>> --Shahzad Muzaffar
>> _______________________________________________
>> gl2ps mailing list
>> gl2ps at geuz.org
>> http://www.geuz.org/mailman/listinfo/gl2ps
>>
>
>