Texture splatting Question: packed Alphamaps

Hello there!
I wanna use texture splatting for texturing the terrain on my 3dengine.
If i want to have 4 alpha maps i must have 4 grayscale textures or pack the 4 alphamaps into one RGBA texture.
Is there any way to access this 4 individual channels using OpenGL Fixed pipeline? or I should use a Pixel Shader to do that?
thanks for your time :slight_smile:

You can easily use texture environments (TexEnv) for texture splatting.
The original article by Charles Bloom is here

and here is a tutorial written in d3d. I think Tom Nuydens has an article on delphi3d.net as well.

I have read this articles. In this articles I read that if you want to access the individual channels of an RGBA alphamap you must use Pixel Shaders. I also Looked at the texture_env_combine extension reference and i don’t see anywhere some way to get access to the individual channels.
so… there is not any other way? only pixel shaders?


unfortunately yes you must use shaders, you cannot pick individual channel with tex_env_combine

So i can’t do texture splatting with 2 splats on the fixed pipeline without multipass?(since i’ll need 1 texture for the base texture, 2 textures for the splats and 2 textures for the alpha maps and many gpus have only 4 texture units)

you could use RGB for splat1 and A for splat2, tex_env_combine allows lerping based on RGB or Alpha just not R,G,B separated