Path: chuka.playstation.co.uk!news From: "Alex Herbert" Newsgroups: scee.yaroze.freetalk.english Subject: Re: Newbie needs basic help Date: Wed, 21 Nov 2001 11:41:12 -0000 Organization: PlayStation Net Yaroze (SCEE) Lines: 46 Message-ID: <9tg3p5$4q117@www.netyaroze-europe.com> References: <9t4jt2$ob41@www.netyaroze-europe.com> <01c16fc2$8b592ba0$2f3be4d5@pal-s-omnibook> <9t76in$ob42@www.netyaroze-europe.com> <9tb0qt$iq1@www.netyaroze-europe.com> <01c171b1$2115a020$2d2c1bd4@pal-s-omnibook> <9tdogl$4q11@www.netyaroze-europe.com> <01c17220$9048e1e0$b01de4d5@pal-s-omnibook> NNTP-Posting-Host: host213-123-128-96.in-addr.btopenworld.com X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.50.4522.1200 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200 There is actually a small demo on my page (~teapot) where I sort quads directly into the OT - you'll need CW to run it though. I'll dig out the source code if you want it, but it was an ugly mess, full of functions I was using to test the concept. Yes, it is possible to save some CPU time by preparing sprite packets first instead of GsSPRITEs and simply linking them into the list when needed. There's nothing to say that packets have to be in the packet workspace so it's ok to link them into the OT wherever they are in memory. But, there are complications. Once a packet is linked, it can't be touched until the GPU has drawn it, so you have to start double buffering you packets - pain in the rear end! Also, the GPU doesn't necessarily directly support the objects provided by the libraries. For example, GsSortSprite() allows a rectangular sprite to be scaled and rotated around a user definable centre point. The GPU has no such command. Instead, the libraries have to build a quad packet, calculating the co-ordinates and setting the u,v components for each corner. Anyway, the GPU tends to take more time to draw sprites than the CPU takes to sort them. What's the point in saving time if the CPU then ends up using that time to wait for the GPU to finish? Besides, you MUST stick to using the library functions if you want your game to appear on the OPM cover disk. No harm in experimenting though. Well, enough of my ramblings... Alex "pal" wrote in message news:01c17220$9048e1e0$b01de4d5@pal-s-omnibook... > Wow, thank you very much for this comprehensive answer Alex. Things are > much clearer to me now. > > I conclude that it should be possible to directly write the GPU packets, > and gain much time and some memory (no copy/conversion, and in some cases > no reinsertion of objects in the packets list). Did anybody try that? Maybe > this is detailed in the file you attached, I'll read it thoroughly as soon > as I have some time. > > pal >