PDA

View Full Version : Max Texture Blending Stages



N64Marin
12-19-2004, 02:41 PM
I have a Geforce MX 400. Recently I've tried RivaTuner and some other Apps, I've see that the Direct3D8 capabilities D3DCAPS.MaxTextureBlendStages is 8.
But in OpenGL, only two textures is supported via GL_ARB_multitexture. Does that mean you can do only 2 texture blending stages with GL_ARB_texture_env_combine? If not, how to do 8 texture blending stages using GL_ARB_texture_env_combine? And how to query that max texture blending stages available?

jwatte
12-19-2004, 05:59 PM
If you're trying to use those 8 blend stages, 99 times out of 100 the card can't actually do it. Even using 3 is quite iffy (although it's gotten better on later drivers).

Under OpenGL, the same hardware can do 8 blend stages using the NV_register_combiners extension. Still can only read from 2 textures though, and because the OpenGL spec ties the number of texture environments to the texture image units, you don't get more than 2 regular texture environments.

zeckensack
12-19-2004, 09:41 PM
Posted by jwatte
Under OpenGL, the same hardware can do 8 blend stages using the NV_register_combiners extension.
No. NV1x hardware is limited to two general combiners. As seen here (http://www.delphi3d.net/hardware/viewreport.php?report=1179) , under extension specifics.
Granted, these are more capable than regular ARB_tec stages.


Posted by N64Marin
Recently I've tried RivaTuner and some other Apps, I've see that the Direct3D8 capabilities D3DCAPS.MaxTextureBlendStages is 8.DX-style fixed function texture blending is a trial-and-error process. You can try a setup and then you're supposed to "validate" it. The driver is free to reject setups. And it most certainly will reject eight-stage setups, unless they're absolutely trivial (say, read a texture and add zero eight times).

The 8 blending stages from the caps don't mean that the card/driver will reliably do that, but rather that it's not allowed to try more.