Please please please please forgive me if this question sucks

Techno, really, I can't understand you... You seem to be interested in GPU technology. You always speak about GPUs, CPUs, shaders, multicore and other difficult things. If you are so interested, how about learning graphics programming? There are lots free tutorials on D3D or OpenGL, just pick what you like. I can't really take you seriously if you talk about future of GPU programming, yet don't know how a GPU works...

To your question: yes, it is possible to sample texels in shaders, so they can do texture mapping. It would be very strange if you couldn't, as shaders are replacements for texture mapping and lighting stages. Well, it depends on what you understand under texture mapping ;-)
 
thanx Zengar. You are right, I am interested a lot in GPUs and CPUs, it all started when I just wanted to research get a new PC, suddenly i found myself posting in these forums. I am interested in the hardware side of GPUs, but I'm currently learning GPU programming to give me a better understanding of GPUs, however I am progressing slowly since i have another priorities. Anyway thanx again for ur hellp
 
It's all mathematics strapped onto a computer.
If you want real understanding of how things work and the issues revolving texture mapping then don't look at the hardware, look at the maths.

After all, is it the hardware's fault that you cannot perfectly map a rectangle onto a sphere?
The maths will talk to you and tell you what you need to know.

After that you can play with the hardware all you want.
 
There is a book 'Realtime 3d rendering' which i plan to buy, just wondering will it prove useful for basic GPU\GPU maths knowledge for the time being? My problem lies in the maths, I really suck in geometry, trigonometry etc, but I still love learning about graphics, this fact makes me too frustrated.
 
Forget 3D books when it comes to maths. Some of them are good but most of them don't give you nearly enough knowledge on the mathematics.

What you need is a few basic books such as mathematical engineering ones along with a few dealing with manifolds and tensors. Recently I've been studying tensors and have looked at tensor surface patches. These things are vital for basic computer graphics applications.
Linear algebra is an absolute must, trig will follow through easily.

Calculus is also extremely essential, as are things like Fourier Series and Fourier Transforms for signal processing and you need to understand the analysis behind the fields that use these tools.
In fact when it comes to basic 3D stuff there is no such thing as enough mathematics.
Even a PhD in mathematics isn't enough as far as I'm concerned.

The most common sense thing to do is to learn the basics of 3D via some computer graphics book and if you enjoy it you can get stuck into the mathematics little by little.
In the end however if you want to write a paper about 3D graphics you need to be able to do things as simple as convert between spaces, for reasons beyond what I want to discuss at 4:44am (as this is taking enough time as it is), a good and very example is to take a look at Euclidean and Polar spaces along with how complex numbers are used.

A very good book:
http://www.amazon.com/Advanced-Engi...ef=sr_1_1/104-6772202-3968737?ie=UTF8&s=books
Another very good book:
http://www.amazon.com/Interactive-Computer-Graphics-Top-Down-Approach/dp/0321321375

I've read many computer graphics books and many more game programming ones, all the game programming books are rubbish at best.
Mathematics is where it is all at, if anyone tells you otherwise, they don't know enough mathematics to understand where and/or how it can be applied to applications in computer graphics.
 
Actually, I learned OpenGL without doing any math :) Linear Algebra is a must though if one wants to truly understand transforms. Calculus? What for?
 
Actually, I learned OpenGL without doing any math :) Linear Algebra is a must though if one wants to truly understand transforms. Calculus? What for?

I mostly agree until you want to start writing shaders simulating the real physical world, at which point understanding the calculus in order to convert it to code suddenly becomes really really useful.
 
I sit on my ass all day. I'm a dole bludger, welfare cheat, etc..

thanx, that will be really helpful. Sorry for being curious but what's ur job KILLER?

Nutball: WTF? If your opinion differs that's okay. I just found that all those high powered mathematics beyond linear algebra and calculus are just as necessary especially when you try to model things in various spaces.

You think I'm bullshitting you about signal processing?
Take a look at some of the analysis of aliasing and take a note out of the book when I say understanding this is vital if you are going to do any work in it.

Zengar: With the advent of programmability there are many numerous techniques in computer graphics being used that come from fields that use many different spaces and mathematical techniques.
LA is just a start.
 
Dude, get a grip...math is indeed cool and all, but you`re telling a guy that got into this because he was building a PC to start dwelwing into Fourier transforms-what`s wrong with this picture?Unless he genuinely wants to start doing graphics programming(and even then, unless you find math sexy, you don`t have to go the whole nine yards with it, just pick and choose what`s directly useful for you), just reading some techier sites/forums and perhaps getting some begginer books is enough for gaining an acceptable level of knowledge.

Now, if he wants to do serious graphics programming, it`s a different story, but I get the feeling that`s not the case.

And on a kidding note, if you`re really hardcore, do only binary, after all, it`s only 1s and 0s at the core. Just 1s and 0s:D
 
Because it's still the fastest way of doing texturing... Of course you can program your own filters in pixel shaders if you need to. However dedicated filtering hardware can perform predefined filtering patterns much faster. Furthermore because texel access patterns are known in advance you can optimize your rendering pipeline in such a way that it suits best your GPU (cache, rasterization order).
 
So are pixel shaders getting closer, or will the performance gap always be the same? If load balancing is the next thing (unified shaders), this would seem like another step in the same direction.. a giant number of shaders to do any one of vertex, geometry, pixel, or texture operations.
 
Well, generally when going from dedicated to general-purpose anything you`re going to lose some performance...but, eventually, at some point in time, it may become feasible to have only general purpose units on a GPU. Not yet though.
 
If someone tried to design a GPU which used just general shaders for texture mapping and filtering, how many more shader arrays (say using the 2900 design that has 4 arrays) would be needed to get the same performance as the dedicated texture units? Two maybe? What if they doubled the speed of the shaders?

Any educated guesses?
 
If someone tried to design a GPU which used just general shaders for texture mapping and filtering, how many more shader arrays (say using the 2900 design that has 4 arrays) would be needed to get the same performance as the dedicated texture units? Two maybe? What if they doubled the speed of the shaders?

Any educated guesses?
If you remove texture-filtering then I wouldnt call the result a GPU anymore. Its really the most important aspect that gives it an sizeable edge over solutions like Cell in the tasks it was designed for.
 
If someone tried to design a GPU which used just general shaders for texture mapping and filtering, how many more shader arrays (say using the 2900 design that has 4 arrays) would be needed to get the same performance as the dedicated texture units? Two maybe? What if they doubled the speed of the shaders?

Any educated guesses?

Well just for say trilinear filtering (when you have all the neighbouring texels sampled) you will need 7 linear interpolations. You can do a linear interpolation in a shader with a mul and a madd. You need 3 weights and you need to get another 3 numbers that are basically 1 - your 3 weights.
Now if you say that ratio between arithmetic instructions and texturing instructions is about 4:1 in pixel shaders (though rising) you can quickly see that the number of arithmetic instructions will increase dramatically. Say you have a pixel shader that's 100 instructions long, out of these 100 instructions, 80 would be arithmetic and 20 texturing. If you do just your own filtering those 20 texturing instructions will turn into 160 arithmetic instructions. So you got from 100 instructions (say 100 cycles in pixel shader) to 240 instructions (again say 240 cycles)...
Modern GPU-s have huge amount of programmable shader power, however there is still a significantly larger amount of specialized computational power that is not programably accessible (unless you play smart).
And that's still ignoring the fact that if you do your own filtering you will most likely access texture much more randomly then dedicated hardware and will thus ruin texture cache.
 
Back
Top