Multitexturing / Diffrent Cards

Im running a Kyro 2 which supports upto 8 layer multitextures in hardware, how slow will it be for other people to run programs i have written using all 8 layers? and what is the maximum number of textures std cards support gf2/3/4 rad 7500/8500 etc ?

Your software will not work on other cards.

You need to get the number of supported multitextures and execute a different code path based on this (probably multipass) to get similar visual results.

See Carmack’s latest .plan for some related comments on performance w.r.t. NVIDIA & ATI.

GeForce 1, 2 and 4MX: 2 texture units
GeForce 3 & 4ti: 4 texture units
ATI Radeon < 8500: 3 texture units
ATI Radeon 8500: 6 texture units
TNT2: 2 texture units
Intel i815: 2 texture units
Most other cards still in use: 2 texture units

IF the multitexture extension is supported you will be able to try this:

GLint number_of_multitextures;

glGetIntegerv(GL_MAX_TEXTURE_UNITS_ARB, &number_of_multitextures);

Does this mean the Kyro 2 the cheapo budget card i got is the only one in existence with 8 layers in hardware?
That number of multitextures thing is gr8 but it only says 4 for the kyro but 8 seem to work ok and the documentation says 8, should that be max or what programs should?

[This message has been edited by Mr_Smith (edited 02-15-2002).]

You are correct, it’s the only one, and now they’re for sale. STMicro are getting out of the business.

Other cards can support more than the multitexture limit but they need to draw stuff more than once and blend the final result in the framebuffer. This can present another set of problems because of the available arithmetic and framebuffer clamping. One of those other cards might still be faster overall even drawing geometry several times than a more flexible card just drawing the same geometry once. Carmack describes this situation comparing GeForce4 to Radeon 8500 in his .plan comments.

[This message has been edited by dorbie (edited 02-15-2002).]

KYRO supports 8 layer multitexturing, however current OpenGL drivers set it to 4 because no engine requires more layers atm.

PowerVR told me they would change that as soon as required.
I think that Direct3D have 8 layers reported.

STM is solding it’s video card branch, not going out of business.
PowerVR tech is just licenced to STM video branch, but is owned by PowerVR.

Problem with multipass rendering is that you need to send (AGP bus) the data to the card for each pass, the AGP can quickly become the bottleneck.


does this mean that radeon 8500 has 6 physical existing texture units or are they faked by sending 2 textures twice through a unit per clock cycle ?



I have absolutely no idea how it’s implemented. However, given the amount of dependent reads that card appears able to do, I’d assume they actually have 6 texturing units. Of course, it could be just one unit, clocked at 6x the core rate, too, and there would be no way for us to know the difference :slight_smile:


THX; mhmm, I think this can be count as another mystery of 3D graphics (hardware)

Maybe someone frome the semiconductor branch can reveal it?