Zeno
05-15-2001, 12:02 PM
I've been looking into the different modes of texture blending / pixel blending a bit lately, and I have some questions that I was hoping you guys could answer.
There seems to be a huge multitude of ways to blend textures together and I wanted some clarification about the differences.
Here are the different methods I'm talking about:
1. Multi-pass rendering using GL_BLEND to blend the geometry the textures are sitting on.
2. Multitexture blending using glTexEnvi with GL_TEXTURE_ENV_MODE.
3. Multitexture blending using EXT_texture_env_combine.
4. Multitexture blending with NV_texture_shader
5. Register combiners
And here are some specific questions:
a. Under what circumstances would I want to use each of the above methods?
b. Does 5 supercede 4 supercede 3 supercede 2 -- that is, if I have 5 available, can it do everything 2-4 can do? Can 4 do everything 3 and 2 can do?
c. Are texture shaders just a simplified interface to the register combiners that have the ability to automatically do standard effects like cube map and bump map?
d. I saw an nvidia example with some code that sortof looked like vertex program code. I think they passed it to nvparse or something like that. What does this do? Does it automatically set up one of the above things to shade the textures? If so, it seems like this might be the best interface....
e. If I have 4 texture units on one card, and 2 on another, will it always be possible to achieve the same effect using more than one pass? I'm guessing no...you couldn't do a cube-mapped and bump-mapped surface without at least 3 texture units, right?
Thanks in advance for any help http://www.opengl.org/discussion_boards/ubb/smile.gif
-- Zeno
There seems to be a huge multitude of ways to blend textures together and I wanted some clarification about the differences.
Here are the different methods I'm talking about:
1. Multi-pass rendering using GL_BLEND to blend the geometry the textures are sitting on.
2. Multitexture blending using glTexEnvi with GL_TEXTURE_ENV_MODE.
3. Multitexture blending using EXT_texture_env_combine.
4. Multitexture blending with NV_texture_shader
5. Register combiners
And here are some specific questions:
a. Under what circumstances would I want to use each of the above methods?
b. Does 5 supercede 4 supercede 3 supercede 2 -- that is, if I have 5 available, can it do everything 2-4 can do? Can 4 do everything 3 and 2 can do?
c. Are texture shaders just a simplified interface to the register combiners that have the ability to automatically do standard effects like cube map and bump map?
d. I saw an nvidia example with some code that sortof looked like vertex program code. I think they passed it to nvparse or something like that. What does this do? Does it automatically set up one of the above things to shade the textures? If so, it seems like this might be the best interface....
e. If I have 4 texture units on one card, and 2 on another, will it always be possible to achieve the same effect using more than one pass? I'm guessing no...you couldn't do a cube-mapped and bump-mapped surface without at least 3 texture units, right?
Thanks in advance for any help http://www.opengl.org/discussion_boards/ubb/smile.gif
-- Zeno