Path: chuka.playstation.co.uk!scea!greg_labrec@interactive.sony.com From: Ed Federmeyer Newsgroups: scea.yaroze.programming.2d_graphics Subject: Re: More GsBG questions Date: Thu, 24 Apr 1997 17:28:23 -0500 Organization: (No organization) Lines: 36 Message-ID: <335FDE87.6C72@charlie.cns.iit.edu> References: <335F08E0.7758@charlie.cns.iit.edu> <335f711f.2848316@205.149.189.29> Reply-To: fedeedw@charlie.cns.iit.edu NNTP-Posting-Host: charlie.cns.iit.edu Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Mailer: Mozilla 3.01 (Win95; I) Mario Perdue wrote: > > Works: Gives Black Screen: > > Clear OT Clear OT > > Call GsSort() funcs Call GsSort() funcs > > VSync/SwapBuffer Call GsSortClear() > > Call GsSortClear() VSync/SwapBuffer > > Draw OT Draw OT > > GsSortClear() works pretty much like all the other GsSortXxx() > functions. In the example that works, you do the GsSortClear() AFTER > you swap the display buffers. In the other example, you do the > GsSortClear() BEFORE you you swap display buffers. GsSwapDispBuff() > does a lot more than just changing the pointer to the active display > buffer. Among other things, it sets the 2D clipping rectangle to > prevent you from accidently writing to the displayed image. In the > first example, the GsSortClear() can't do much because the clipping > rectangle has been moved. In the second, it does exactly what you told > it to do and clears the screen. But I guess the thing I don't understand, is that when you say "it does exactally what you told it to do and clears the screen", I think it should mean "it puts a command to clear the screen into the OT, so that later, when you DrawOT(), the first GPU command is 'clear the current screen'". In other words, *none* of the Sort() funcs act immediatly, but just stuff a draw command into the OT. If that is the case, it should not matter where the clipping rectangle is when I issue the SortClear call, but rather, when the rest of the OT is rendered to the screen, the first thing "rendered" is a big, black rectangle covering the screen area we are about to draw into. Maybe if I understood why GsSortClear does not require a priority like the other Sort() funcs... EdF EdF