PDA

View Full Version : Multi Texturing, Shaders, Your thoughts


ChrisRay
06-07-03, 01:01 AM
Simply put it, How viable do you feel Multi texturing (additional TMU"s or not) is going to be when shaders take completely over, From my understanding of the issue.


Shaders cannot benefit from an additional TMU, so whats the point in designing a card with extra TMU?

If I am completely wrong about this let me know. It was said in the form of a question ;)

Uttar
06-07-03, 03:13 AM
Psst, who said the NV3x even has TMUs anymore?

nVidia's technology of "No TMUs just float units" is the future, IMO.
They did introduce such a technology TOO early, however, I believe, because more massive float performance would have been required for the NV3x and this reduces the times at which you can do traditional FP operations.

The NV3x uses a traditional Floating Point unit having some special functionality ( rumored to be based on ddx/ddy ) to fetch textures. One of their FP unit can fetch two textures a clock. That means they got 4 FP units *OR* 8 TMUs in the NV30.
In the NV35, it seems more messy because not all units seem to have that functionality, so it's 12 FP units *OR* 8 FP units and 8 TMUs AFAIK.

The R3xx still uses traditional TMUs.

And no, I'm not inventing things, this is "common" knowledge in the more technical forums around the web :) ( such as B3D's )


Uttar

Hellbinder
06-07-03, 04:25 AM
Shaders cannot benefit from an additional TMU, so whats the point in designing a card with extra TMU?

Because its going to be a while before games totally go 100% Shader.

As it is now the Nv30/35 actually operate like a 4x2 not an 8x1 much of the time. Meaning It is already getting a big boost in Multitexture as it is now. There is still a lot to be gained by this imo and will be for another generation of games. Wether companies go that route fully or not is doubtfull. ATi simply does Multitexture via loopback. But there is no doubt that their fill rate would shoot through the roof is they could Fetch 2 textures at once per pipeline (x8). The problem you have then though is pipeline stalls, and Bandwidth limits. bandwidth at this point with 256bit memory interfaces and 25-30GB bandwidth should not be to much of a problem.

Buuut... ultimately I doubt its going to happen. Who knows though.

ChrisRay
06-07-03, 05:04 AM
Psst, who said the NV3x even has TMUs anymore?


No one did, this was a question about all architectures

Uttar
06-07-03, 05:47 AM
Yes, yes :)

But in the case of the NV3x, thus, increasing the number of TMUs is a lot cheaper: adding a little bit of additional functionality on top of FP units is much cheaper than simply putting additional real TMUs.

However, it requires the architecture to have at least one float unit for two TMUs.
In the case of the NV30/NV31/NV34, it got exactly that. In the case of the NV35, it actually got 3 float units and only one got that special functionality, so if they wanted, having 24 TMUs would maybe cost them, I don't know, 10M additional transistors? Would make no sense though, because it would barely give any performance benefit.


Uttar

Nutty
06-07-03, 07:15 AM
Multi-texturing as we know it, will not be replaced with pure procedural shaders. In actual fact the amount of textures used at once will increase.

How these are accessed within the hardware is anyones guess. Weather its loopback with a single texture unit, or multiple TMU's I dont know.

But shaders will not replace actual textures.

Uttar
06-07-03, 07:35 AM
Originally posted by Nutty
Multi-texturing as we know it, will not be replaced with pure procedural shaders. In actual fact the amount of textures used at once will increase.

How these are accessed within the hardware is anyones guess. Weather its loopback with a single texture unit, or multiple TMU's I dont know.

But shaders will not replace actual textures.

Well said :)
I'd just like to say, however, that the shading/texturing ratio should increase - that means we'll get more textures, but also a lot more airthmetic.

Why use textures? Because anything roughly linear, or nearly impossible to represent mathematically, is very well fit for textures.
Why use arithmetic? For lighting, procedural texturing ( even though it'll never be possible to use that for everything ) , and to treat the textures' info.

And much of this info is independant, so you can do something like:

Texture
Arithmetic
Arithmetic
Texture
Arithmetic
Texture
Arithmetic
Arithmetic
Arithmetic
Texture
...

As you may see there, texture instructions would be "between" arithmetic ones. So you don't need THAT many TMUs: having a ratio of 2 TMUs for 2, 3 or even 4 arithmetic instructions is alright IMO.


Uttar

Nutty
06-07-03, 01:22 PM
Yeah, things like normalization cube maps will be replaced with just normalizing in fragment programs. Lighting attenuation maps, etc... These are the kind of textures that will be done away with. But then, more and more artist created textures will be used.

eg, glossmaps, specularmaps, bumpmaps, shadowmaps, reflectionmaps, glowmaps, etc.. etc..

Eventually we'll have models using all these types of texturemaps and more in 1 pass. So a gfx card with good multi-texturing ability will be essential for good performance in the future.

ChrisRay
06-07-03, 10:21 PM
I apreciate everyone's thoughts and replying to this. Was me trying to get a basic understanding of the future of texture maps and shaders,

Your replies were more than enough understanding

AgentX
06-08-03, 04:42 AM
Shaders are the next new thing, perhaps the new T&L but it cant just replace multitexturing.