Mailing List
Home
Forum Home
Softimage
Carrara
trueSpace
Dir3d-l
Maya - a powerful 3D animation and visual effects software
Macromedia Flash Development
Subjects
Subject: Cameras
Subject: scaleDown command
Subject: black out solved
Subject: Aircraft Tutorial
Subject: Mathematical XYZ ?
Subject: Re: Its done This vs That
Subject: Re: Its done first week
recommendations for screen video captures?
Subject: 3DExplorer "Oddity "
Subject: Re: New Director
Subject: ProTeam renewals
Fuel 's new websites (X post)
Blue peter create a make toy
targeting groups question
XPost: Shockwave 3D game ( sort of )
Subject: RES: RES: RES: Fish Modeling
Emitting particles from object intersection
Fuel 's new websites (X post)
Subject: Re: Texturing
Big Break Contest Videos
Subject: New Plugins
Models and Texture on my updated site
Error Installing Patch tS6 6
Subject: Plasma?
Looking for Inspiration
Subject: Weird EMail Q
Subject: Re: It 's done first week ?
Subject: Cherry not cranberry
Subject: Re: New game
Camera Animation Problem
Subject: Particle plugins?
 
Subject: Additive on Macs

Subject: Additive on Macs

2004-02-27       - By NoiseCrime

 Back
Reply:     1     2     3     4     5     6     7     8     9     10     >>  

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