When GPU's getting really fast...

Started by
14 comments, last by DudeMiester 18 years, 10 months ago
Hi guys, I'm actually a beginner in this area and I'm learning texture and bump map recently. I read that why stuff like texture exits is because the GPU is not powerful enough to do the real-time rendering for complex scenes. I'm just wondering, as GPU speed is growing really fast, if the GPU is really fast and can render geometies of huge size, say hundreds of millions of triangles, in above 60fps, will we still need the techniques like texture and bump map? I really want to hear you guys' opinions.
Advertisement
hi,

of course we'll still need textures, and for quite a long time probably ^^ 300 millions of triangles / second is far from enough to get rid of the textures. Did you ever try to model something in Maya, 3DSMax or another modelling software without any texture ? If so, you know that to achieve results as good as textured models would require billions of triangles : unthinkable in real-time.

Just an example : the humain skin contains of many little holls. In a texture, you can simply paint them, and it's nice. Do you imagine the number of polygons just to model those tiny little details ?
Most of the GPU power nowadays is actually being fed into the pixel pipeline -- that is, the part that does texturing and per pixel shading effects. No matter how much geometry you add, you can really only get so far. Some of the per pixel effects are naturally dependent on how the view is related to what you're doing, so texturing, bump mapping, and all of the other shader techniques are more important than ever.
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
This seems to be a little misunderstanding...

Textures exist because they are simple and straightforward way to describe what mesh looks like. They are nowadays used for a wide variety of things (e.g.normals maps, precomputed radiance transfer, ...) serving more as arrays of some precomputed values, than what they were used at the beginning for.

What you read might probably relate procedural texturing (not textures!) which, as the GPU speed increases, become more practical. There's one quite advanced 3d FPS game, which uses procedural textures (edit: generated at startup) only, but don't remember what was the name (it was quite famous some time ago and a very nice thing about it was it was no more than something like 1 MB in total:) ). But procedural textures will never describe coca-cola logo somewhere on the building. It can be very well used for the nature however.

To sum up, no matter how fast GPU will be, textures will always have its use in 3d graphics.

[Edited by - MickeyMouse on May 31, 2005 11:19:14 AM]
Maciej Sawitus
my blog | my games
thinking about kkrieger (96kb)?
http://www.theprodukkt.com/

afaik, kkrieger don't use pr pixel procedural texturing, it generates texture- and normal-maps at init-time.
Yes, that's kkrieger of course :)
Maciej Sawitus
my blog | my games
Quote:Original post by MickeyMouse
This seems to be a little misunderstanding...

Textures exist because they are simple and straightforward way to describe what mesh looks like. They are nowadays used for a wide variety of things (e.g.normals maps, precomputed radiance transfer, ...) serving more as arrays of some precomputed values, than what they were used at the beginning for.
I think he understood perfectly. The point is that textures are a more straightforward (and less power-hungry) way of describing what a surface looks like, compared to describing that surface with millions of individual triangles.

Quote:But procedural textures will never describe coca-cola logo somewhere on the building.
Of course it can. The code to generate it would just be quite complex, and would probably end up referencing an external data source (like a texture, or a bezier map) to define regions. You can generate pretty much any image procedurally though:
if(texCoords == (0.00f, 0.00f)) return float4(0.f, 1.f, 0.f, 1.f);if(texCoords == (0.01f, 0.00f)) return float4(0.f, 1.f, 0.3f, 0.9f);if(texCoords == (0.02f, 0.00f)) return float4(0.2f, 0.9f, 0.4f, 0.2f);/* etc... */

Richard "Superpig" Fine - saving pigs from untimely fates - Microsoft DirectX MVP 2006/2007/2008/2009
"Shaders are not meant to do everything. Of course you can try to use it for everything, but it's like playing football using cabbage." - MickeyMouse

THe original question is valid. Eventually we will be able to create a mesh with billions of polys to describe each pore and hair in human body. In that case, original lighting equetions will be more then valid. But I guess we will have to wait at least 5 years to see something like that.

Meanwhile, Unified Shader Architecture helps reducing the difference between pixel and vertex operations.

Luck!
Guimo
Quote:Original post by superpig
Quote:But procedural textures will never describe coca-cola logo somewhere on the building.
Of course it can. The code to generate it would just be quite complex, and would probably end up referencing an external data source (like a texture, or a bezier map) to define regions. You can generate pretty much any image procedurally though:
if(texCoords == (0.00f, 0.00f)) return float4(0.f, 1.f, 0.f, 1.f);if(texCoords == (0.01f, 0.00f)) return float4(0.f, 1.f, 0.3f, 0.9f);if(texCoords == (0.02f, 0.00f)) return float4(0.2f, 0.9f, 0.4f, 0.2f);/* etc... */


You could store the coca-cola logo as vector graphics, and then use it to create a resolution independant texture. Or Failing that, draw it from the vector data, but what a waste that would be!

5 years? it's quite optimistic...

Anyway I think that using such huge number of polygons can be difficult for the artists. Maybe there will be more polygons but textures will always be used to make skins look good and not to make the artists crazy while drawing millions of polygons for just an arm.

This topic is closed to new replies.

Advertisement