Path: chuka.playstation.co.uk!news From: alex@teeth.demon.co.uk (Alex Amsel) Newsgroups: scee.yaroze.programming.3d_graphics Subject: Re: OT's - how do they work? Date: Mon, 20 Oct 1997 15:55:00 GMT Organization: Into Beyond Lines: 41 Message-ID: <344d734b.5610332@news.playstation.co.uk> References: <3446DC9D.BB81C6EE@ibm.net> <344b4014.300721@news.playstation.co.uk> <344AB445.6113@peace.co.nz> Reply-To: alex@teeth.demon.co.uk NNTP-Posting-Host: teeth.demon.co.uk Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Newsreader: Forte Agent .99g/32.335 On Mon, 20 Oct 1997 14:30:45 +1300, James Russell did quoth at me: >OK, That answers some questions, but raises others: > >I'm assuming that an ordering table would be a linked list >of polygons/sprites to draw, and each polygon/sprite would have: > o - An associated Z value > o - A pointer to the GPU commands required to draw that polygon. >When I insert a polygon of a given Z, it would search though the list until >it found the appropriate place, plonk itself there in the middle of the list, >create some space somewhere for the GPU packets and set it's pointer to them. > >Now the PSX OT_TAG's have a pointer to the next OT_TAG (p) but >don't have an associated Z value or a pointer to the GPU commands >to be executed. [from memory...] There will be a table of indexes into the OT_TAG list. If your OT is size 8, there will be 2^8 (256) table entries. The first entry could correspond to Z=1, and the last to Z=256 (depends on your shifts when you put objects in the OT). The ps-x renderer does not need to know Z values, only what polygons to draw first. The ps-x DrawOT function prepares the data for the renderer (gpu). It knows where to place the polygon according to its Z value. If the polygon is at Z = 100, it will look up the 100th entry in the above table, and will insert it before the existing polygons there. The GPU command immediately follows the OT_TAG so no pointer is needed. Regards, Alex Amsel + Tuna Technologies + Telephone & Fax +44 (0)114 221 0686 + + For all your Win95/NT/Console Game and Tool Development + + And we say, "A good programmer always blames Microsoft" + + I proclaimed "Bring back the Doog!", and so it was done +