Re: Problems with pfuSaveImage (64bit)

New Message Reply Date view Thread view Subject view Author view

Angus Dorbie (dorbie++at++multipass.engr.sgi.com)
Fri, 30 Jan 1998 04:04:55 -0800


Seems pretty clear what's happening, the address for image data
is incrementing at a rate which is 2 times the atomic data
dimension.

Looks like there's a Performer bug in the pointer aritmetic when
writing the image, it seems likely that an assumption that the
type of data from the gl is 32 bit but the actual size of the data
type used as a pointer used to access the data array (eg unsigned long)
is greater than the data spacing from the gl, so when the code loops
through the array returned by the gl it skips half the columns and
runs out of data. This is consistent with with your 64 bit compilation,
I could easily see where a type is 32 bit on n32 but 64 bit on
n64 codes leading to this bug.

You could restore the image height since the result you have
is an interlaced image but you've actually lost half your
columns so you can't restore the width. You'll probably have
to write your own save image function.

Cheers,Angus.

On Jan 30, 9:54am, Wilfried Zeise wrote:
> Subject: Problems with pfuSaveImage (64bit)
>
> Hi Performers:
>
> I am using Performer 2.1 on an Onyx i-station R10k.
>
> I compiled the 64 bit version of perfly with 'make PFSTYLE=64'. I tried to
> save an image by pressing the 'x'-key, which invokes pfuSaveImage(str, 0, 0,
> ViewState->mouse.winSizeX,ViewState->mouse.winSizeY,(snapAlpha) ? 1 : 0).
> The image file should contain the complete image, rendered by perfly. But
> something very strange happened: the image file contains two versions of the
> image, which is
> rendered by perfly. These two images are only 1/2 the size of the original
> image (see chamber64.gif).
>
> For the n32-version of perfly, pfuSaveImage works fine (see chamber32.gif).
> What is the reason for this strange behaviour of pfuSaveImage?
>
> Thank you in advance
>
> Wilfried Zeise
> University of Wuppertal
>
> [ Attachment (image/gif): "chamber64.gif" 16592 bytes
> Encoded with "base64" ]
>
> [ Attachment (image/gif): "chamber32.gif" 18006 bytes
> Encoded with "base64" ]
>-- End of excerpt from Wilfried Zeise

-- 
"The ultimate measure of a man is not where he stands
in moments of comfort and convenience, but where he
stands at times of challenge and controversy."
                             -Martin Luther King, Jr.
=======================================================================
List Archives, FAQ, FTP:  http://www.sgi.com/Technology/Performer/
            Submissions:  info-performer++at++sgi.com
        Admin. requests:  info-performer-request++at++sgi.com

New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2.0b2 on Mon Aug 10 1998 - 17:56:39 PDT

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.