Programing with TEV... (this is not a Wii thread)

sfried

Regular
I know there already was another thread created for this topic, but it hasn't been updated for awhile and seems to have boiled down into nothing but another argument fest.

Anyways, before I start, this isn't to debate about whether GameCube's graphics can match those of Xbox and whatnot: That has been done a billion times by a ton of threads posted in other forums. The responses are always the same, with no one knowing what the TEV really does. Now with the current generation about to be "phased out," I was wondering if more light can now be shed on TEV programming.

I was wondering how to pull off common late-generation shader effects like normal mapping, bloom, that certain kind of motion blur from the later Burnout series and other forms of displacement mapping. Is there a certain way how you have to pass these effects to pull it off?

I don't know if there are any other published documentations on TEV development. Gamasutra had an article on the subject matter, but again, it's pretty old. (Even pre-Rebel Strike: RS3, which was one of the better, but not necessarily the pinacle of GC game tech)
 
Last edited by a moderator:
On the GC side the real limitation isn't so much the TEV as it is the hardcoded nature of the pipeline.

It's hard to get useful data through to the TEV without computing it all on the CPU and passing it down. Even then there are many restrictions on what comes from where for the various operations, notably the dot products in the EMBM hardware.

I don't expect anyone describing it in detail here anytime soon.
 
On the GC side the real limitation isn't so much the TEV as it is the hardcoded nature of the pipeline.

It's hard to get useful data through to the TEV without computing it all on the CPU and passing it down. Even then there are many restrictions on what comes from where for the various operations, notably the dot products in the EMBM hardware.

I don't expect anyone describing it in detail here anytime soon.

Just what exactly is hardcoded? I thought it primarily has basic effects which it could blend by knowing which ones to turn on or off?
 
Yes basically in vertex processing you have a set of possible calculations you can turn on and off.
The TEV is an 8 stage combiner with some additional logic designed for EMBM.

Both lack real flexibility, because IMO they look to have been designed for a very specific job. A good example is the EMBM logic, it's basically 2, 3 part dot products per stage but the allowed inputs are heavilly limited because they are what you would use for EMBM. Another is that you can only use a left handed coordinate system (or right can never remember which one works) because the projection matrix isn't a complete matrix, and the hardware always clips -W.

The TEV is potentially quite interesting, when it comes to indirect texturing more flexible than NV2A, but without any real ability to do arbitrary vertex calculations additional flexibility would be somewhat wasted. Yes you can do it on the CPU and pass the data on, but the CPU just isn't all that fast.
 
Yes basically in vertex processing you have a set of possible calculations you can turn on and off.
The TEV is an 8 stage combiner with some additional logic designed for EMBM.

Both lack real flexibility, because IMO they look to have been designed for a very specific job. A good example is the EMBM logic, it's basically 2, 3 part dot products per stage but the allowed inputs are heavilly limited because they are what you would use for EMBM. Another is that you can only use a left handed coordinate system (or right can never remember which one works) because the projection matrix isn't a complete matrix, and the hardware always clips -W.

The TEV is potentially quite interesting, when it comes to indirect texturing more flexible than NV2A, but without any real ability to do arbitrary vertex calculations additional flexibility would be somewhat wasted. Yes you can do it on the CPU and pass the data on, but the CPU just isn't all that fast.


What do expect would be possible with the TEV upgraded to 16 stages, also what is your opinion of Nintendo "Recirculating Shader" shade tree patent for Wii( I believe)?

http://appft1.uspto.gov/netacgi/nph...s1=Nintendo.AS.&OS=AN/Nintendo&RS=AN/Nintendo
 
hey ERP, what's the most complex or technically impressive effect you've seen come out of the TEV (or the GC in general i guess, since it may be impossible to tell exactly what's happening internally)?
 
Wait a second... My main question hasn't been answered yet: How do you supposed TEV can pull of normal maps? Do you pass it through software and then spit it onto the TEV?
 
It's described in that "Integrating Shader Technologies" article on Gamasutra. To make a long story short, it takes 3 operations (instead of 1 like on a DX8 part) and isn't as flexible.
 
It's described in that "Integrating Shader Technologies" article on Gamasutra. To make a long story short, it takes 3 operations (instead of 1 like on a DX8 part) and isn't as flexible.

I've read that, but it doesn't mention anything about normal mapping.
 
They call it just bump mapping.

Are you sure it isn't the same regular bump-mapping we've seen in years? What differentiates this from Doom 3's "bump-mapping"? Basically, what I'm trying to get to is Doom 3's normal mapping effects on GC. I know Silicon Knights (before they moved to MS) mentioned something about how they were trying to implement this on the Metal Gear Solid remake: The Twin Snakes, but it was never done in the end due to lack of dev time.
 
Last edited by a moderator:
While we have this thread alive I would like to confirm one thing, I recal I saw somehere that GC had hardwired features to do the shadowing/self-shadowing. Is this true:?: Can anyone give some more info, please.


Are you sure it isn't the same regular bump-mapping we've seen in years? What differentiates this from Doom 3's "bump-mapping"? Basically, what I'm trying to get to is Doom 3's normal mapping effects on GC. I know Silicon Knights (before they moved to MS) mentioned something about how they were trying to implement this on the Metal Gear Solid remake: The Twin Snakes, but it was never done in the end due to lack of dev time.

;) , it isnt even lack of performance, nice.
 
Last edited by a moderator:
;) , it isnt even lack of performance, nice.
Considering Silicon Knights planned things like self-shadowing for Eternal Darkness, and the fact that GC could do self-shadowing (See Mario Tennis), I would say I wouldn't doubt their word for it.
 
Back
Top