typical number of texture units?
BlitzMax Forums/BlitzMax Programming/typical number of texture units?
| ||
GLGraphics(640,480) Local tu:Int=0 glGetIntegerv (GL_MAX_TEXTURE_UNITS_ARB,Varptr tu) Print "texture units "+tu my nvidia fx5200 has 4 texture units please add info on this thread if your card isnt mentioned. Thanks |
| ||
S3 Supersavage = 2 |
| ||
GeForce6800 Go = 4 |
| ||
GeForce Go 7800 Gtx = 4 |
| ||
Geforce 5600 has texture units 4 |
| ||
Radeon X800 Pro = 8 |
| ||
4 units for me |
| ||
Radeon 9800pro = 8 |
| ||
Radeon X600 Pro = 8 |
| ||
Radeon 9600 Pro = 8 |
| ||
Geforce 6600GT - Your test says 4. My manual says 8. |
| ||
g4 ibook. (ATI Mobility Radeon 9550) = 8 What is a texture unit? |
| ||
x800 Pro = 8 Chris, if this is for your engine stuff, have a MAXTEXUNITS Global in your code and grab the hardware texture unit count early on. Then access each unit accordingly: For u = 0 until MAXTEXUNITS ... Or when doing a texture unit specific setting like: (from an entity type) Method SetSurfTexture(tex:TTexture, srfIndex:Int, texUnit:Int = 0) If texUnit > MAXTEXUNITS-1 Then Return 'out of range ... Safer than Bin Laden :P Jay: Texture units are hardware components on a GFX card that hold texture data for rendering. Before rendering any textured geometry you have to specify what texture each texture unit will use. The amount of texture units determines how many layers of multitexturing you can do in 1 render pass. For example to do lightmapping in 1 render pass you need 2 texture units. Otherwise you'd have to render the same geometry twice (slower) by first loading the texture unit with the color/diffuse texture..render, then load the lightmap and render again. Byeeeee! Tom |
| ||
your program says i have 4 on my FX5900 |
| ||
Radeon X600XT = 8 |
| ||
8 Texture Units - Geforce 6600GT @Gab: You are correct, the NV43 (6600) indeed has 8 Pixel/Texture units but its more of a hybrid design. That is, its not a 8x1 or 4x2 design which is usually more common. The GL_MAX_TEXTURE_UNITS_ARB is most probably picking it up wrong. |
| ||
I can't be sure what it *means* but it *says* 8 texture units. |
| ||
Oops- Edited my post as you replied :) |
| ||
I'm doing multi-texture on landscapes and I wondered what was a typical number of multi-textures usable in the wild, I'll probably get away with only using 2 though... basically for those of you that dont know, for each texture unit you have, you can put that number of textures on a tri/quad in one pass. |
| ||
@Gab: You are correct, the NV43 (6600) indeed has 8 Pixel/Texture units but its more of a hybrid design. That is, its not a 8x1 or 4x2 design which is usually more common. The GL_MAX_TEXTURE_UNITS_ARB is most probably picking it up wrong. Aha, that would probably explain it then. God it must be hell writing 3d engines with all the possible misreporting that drivers can do to cope with. |
| ||
You could have multiple passes of the same tri/quad to have more textures, in fact most games use two pass shading on objects. Its slower, but it looks nice. Also graphics cards usually have the capability to do multiple passes per cycle therefore the speed hit wouldnt be that much. |