bmacintyre@watcgl.waterloo.edu (Blair MacIntyre) (10/09/89)
I'm trying to create a double buffered display. I had it working for the longest time using the following method: 2 BitMap structs - one in Screen->Viewport.RasInfo->BitMap the other in Screen->RastPort.BitMap swap them to double buffer call MakeScreen( Screen ) ReThinkDisplay(); A while ago someone told me to use ScrollVPort( &screen->Viewport ) to achieve the double buffered affect, so I looked up the function and low and behold, it says that by "leaving the dx,dy offsets 0 and changing the BitMap pointer a double buffering effect can be achieved" ( or something to that effect ). The problem is this: I substitute the ScrollVPort call for the other two calls and the following happens: the double buffering works ( a Good thing! ) but all the lines on the display cease to be drawn correctly. What I mean is this. A line that used to be rastorized like this ******** ******** ******** ******** now appears like this ******** ******** ******** ******** This happens to all the lines on the display ( I am not using text so I don't know if it would happen to it as well ) Any ideas what may be causing this? I'm at a loss. Blair -- = Blair MacIntyre, bmacintyre@watcgl.{waterloo.edu, UWaterloo.ca} // = = now appearing at the Computer Graphics Lab, U of Waterloo! \X/ = = Ignore my opinions ... they are the product of an imagination preoccupied = = with sex, or so they tell me ... *sigh* =
aaron@madnix.UUCP (Aaron Avery) (10/12/89)
In article <11833@watcgl.waterloo.edu> bmacintyre@watcgl.waterloo.edu (Blair MacIntyre) writes: >I'm trying to create a double buffered display. I had it working for the >longest time using the following method: > 2 BitMap structs - one in Screen->Viewport.RasInfo->BitMap > the other in Screen->RastPort.BitMap > swap them to double buffer > call MakeScreen( Screen ) > ReThinkDisplay(); This works, but the only relevent one is RasInfo->BitMap. The other one should probably be in your own memory. And remember to use Pointers for this. There's no need to shift the whole structure around. >The problem is this: > I substitute the ScrollVPort call for the other two calls and the > following happens: the double buffering works ( a Good thing! ) but > all the lines on the display cease to be drawn correctly. What I Methinks you're in interlaced mode. This is a bug in ScrollVPort which I reported many moons ago. Since 1.3 did not include bug fixes such as this, we'll have to wait for 1.4 for ScrollVPort to work with LACE mode viewports. Also note that Jim Mackraz says that double buffering and Intuition don't get along yet. I think the ReThinkDisplay() is safest (though slow), since it's an Intuition call. - Aaron -- Aaron Avery, ASDG Inc. "A mime is a terrible thing to waste." -- Robin Williams ARPA: madnix!aaron@cs.wisc.edu {uunet|ncoast}!marque! UUCP: {harvard|rutgers|ucbvax}!uwvax!astroatc!nicmad!madnix!aaron
bmacintyre@watcgl.waterloo.edu (Blair MacIntyre) (10/16/89)
In article <934@madnix.UUCP> aaron@madnix.UUCP (Aaron Avery) writes: >In article <11833@watcgl.waterloo.edu> bmacintyre@watcgl.waterloo.edu (Blair MacIntyre) writes: >>I'm trying to create a double buffered display. I had it working for the >>longest time using the following method: > >Methinks you're in interlaced mode. This is a bug in ScrollVPort which I >reported many moons ago. Oops, as a matter of fact I am using interlaced mode. Thanks very much to everyone who replied! -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= = Blair MacIntyre, bmacintyre@watcgl.{waterloo.edu, UWaterloo.ca} = = Professional Leech on Society ( aka Graduate Student ) = =Now playing for an extended time at the University of Waterloo (Ontario, Can)=