Path: chuka.playstation.co.uk!news From: Alex Herbert Newsgroups: scee.yaroze.programming.2d_graphics Subject: Ignore my previous rubbish! Date: Tue, 21 Apr 1998 18:36:25 +0000 Organization: PlayStation Net Yaroze (SCEE) Lines: 26 Message-ID: <353CD919.8D9F8BEC@ndirect.co.uk> References: <352228A8.7960@telecom.at> <352539C1.9C8119A@ndirect.co.uk> Reply-To: aherbert@ndirect.co.uk NNTP-Posting-Host: dialin0-01.ndirect.co.uk Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Mailer: Mozilla 4.04 [en] (Win95; I) I was talking crap in my previous posting. Sorry. So, I'll try to correct myself. If the semi-trans bit in the attribute (for sprites etc.) is zero, then the STP bit has no meaning to the PSX hardware. However, the PSX sees a CLUT entry or pixel with the value 0x0000 as fully transparent. But, if the STP bit is set (0x8000), the pixel is now non-zero and will be treated as SOLID black. If the semi-trans bit in the attribute is set, then any pixel with the STP bit set will have transparency aplied to it in accordance with the transparency mode set in the attribute. 0x0000 will still be fully transparent, and 0x8000 will be semi-transparent black. If the transparency mode is either additive or subtractive (not averaged) then semi-transparent black (0x8000) is visually the same as fully transparent, but requires more GPU processing time, so full transparency should be used. The side-effect of using semi-transparency is that solid black is now unavailable. The solution is to use near black with the STP cleared. (e.g. 0x0001). TimUtil is a bit crap, so you should download TimTool from the Yaroze site which lets you define the STP bit for each individual CLUT entry. Sorted! Herbs