Path: chuka.playstation.co.uk!news From: "SCEE" Newsgroups: scee.yaroze.programming.libraries Subject: Re: MoveImage() M.O. Date: Thu, 19 Mar 1998 08:48:28 -0000 Organization: PlayStation Net Yaroze (SCEE) Lines: 71 Message-ID: <6eqlpq$l5r13@chuka.playstation.co.uk> References: <350F9A4B.2062@dial.pipex.com> NNTP-Posting-Host: 194.203.13.10 X-Newsreader: Microsoft Outlook Express 4.71.1712.3 X-MimeOLE: Produced By Microsoft MimeOLE V4.71.1712.3 Hi Chris, Using MoveImage that way is fine as the libs copy the rect structure internally. ( Incidentally you could do something similar using fast sprites, as once you have issued the GsSort.. call you can then freely change the structure ) Cheers, Colin. Chris Chadwick wrote in message <350F9A4B.2062@dial.pipex.com>... >Hi, > >I currently need to display a sprite object in my game which is >effectively a small text box. I'm doing this by copying (with MoveImage) >each text character to the box sprite image in VRAM, from a font image >located elsewhere in VRAM. I actually copy a single character image AND >a cursor image once every couple of vsyncs, to give a 'computer read-out' >type effect. I'm doing it this way as I obviously dont want to have a >separate sprite for each character etc! > >So, the basic run of events within the main game loop is: > > game loop start > . > . > . > MoveImage() // to copy character image to box sprite image > . > MoveImage() // to copy cursor image to box sprite image > . // Note: I dont/cant use a DrawSync() > . // after either MoveImage() call > . > DrawSync() > Vsync() > GsSwapDispBuff() > GsDrawOT() > . > . > . > game loop end > >I modify the source RECT used by the first MoveImage and use it with the >second MoveImage. This seems to work BUT, isn't it possible I will have >modified the RECT variable BEFORE the first MoveImage operation is done, >as it is non-blocking? Or, does each MoveImage call keep it's own working >copy of the RECT variable passed to it? I assume some such mechanism is used >as when each MoveImage call is made (as above) the GPU will be busy >because of the last GsDrawOT call, so the 2 MoveImage operations will >be delayed until AFTER the GPU has finished drawing. Is this right? >Is it QUARANTEED that any MoveImage call issued AFTER a GsDrawOT will >be delayed until the GPU has finished drawing ALL the OT objects? >I dont want to be altering a sprite image while/before the GPU has used >that image in drawing the previous frame (if you see what I mean!?) > >I hope that lot makes some kind of sense to someone. :) >I quess, what I'm asking in essence is: How and when, EXACTLY, are >MoveImage operation requests stored and subsequently dealt with by the GPU? > >As I say, everything SEEMS to be working fine the way it is (things that >run first go give me an uneasy feeling :) I just want to be sure that >things wont go pear-shaped somewhere down the line. > >Thanks in advance! > >-Chris