Subject: Additive on Macs 2004-02-27 - By Neto
Back Maybe using a screen capture xtra could allow automatic detection at least in projectors?
-- -- Original Message -- -- From: "noisecrime" <noise@(protected)> To: <dir3d-l@(protected)> Sent: Friday, February 27, 2004 12:19 PM Subject: Re: [Dir3d-l] Additive on Macs
> Hi Mal, > > First to those who are interested, the artcile and source to the demo Mal > posted can be found here. > http://www.noisecrime.com/develop/tutorials/additiveblend/ > > To recap > To date no PC running in DX5 has failed to produce additive blending using > maxTextureUnits+1 to place the additive texture into. > > On a PC, any card that supports 8 texture units will not be able to produce > additive blending in DX7 > > On a Mac additive blending is supported in openGL as long as the card has > less than 8 texture units. However the gethardware() command is unreliable > and does not return the correct maxTextureUnits. > > When getting the image of the sw3d member on a mac, you always get back a > software openGL version (not software), which invalidates automatic > checking. > > This means on a Mac, there is no automatic way of determing if it supports > additive blending, you have to ask the user, and basically cycle through > which texture unit to place the additive texture into. > > Most Mac cards, if not all will support aditive belnding, its just the > developer has no gauranteed method of knowing which layer to place the > additive texture. One idea was to use the cards name as a look up into a > database where you would store the known maxTextureUnits. Sadly though > naming appears in consistant and so is not gauranteed to work. > > Basically then Macs are a bit of a bugger for additive blending. It will > work, but you need to invent some method of getting the user to identify > which layer provides the belnding affect. My outlook on this was that > additive benldning would be off by default on macs, and the user had to turn > it on through a preference screen. This screen would display a pre-generated > additive blend of some scene or object, and then the w3d trying to implement > additive blending. They have a simple 'yes' 'no' decision to make if the > images match or not. If they don't match move onto the next texturelayer, if > they do, then you can stop because you know which texture layer to use. > > Two tips > Firstly don't forget the user may have overriden the renderer API in the SW > preferences > Secondly that the num of texture units is API dependant. So if running in > DX5 you will always get 1 for the maxtextureunits. > > I've got another 50-75 results that I'll try and add to the tutorial results > over the weekend. > > Hope this helps > > Noisecrime 2004 > > > __ ____ ____ ____ ____ ____ ____ ____ ____ ____ > Dir3d-l mailing list > Dir3d-l@(protected) > http://nuttybar.drama.uga.edu/mailman/listinfo/dir3d-l >
__ ____ ____ ____ ____ ____ ____ ____ ____ ____ Dir3d-l mailing list Dir3d-l@(protected) http://nuttybar.drama.uga.edu/mailman/listinfo/dir3d-l
|
|