Arbitrary number of clip planes

Clip planes are so incredibly useful. I use them for drawing sky over one specific object, for portal rendering, for clipping projected shadows, rendering mirrors, and more. It’s a pity there are only 6 clipping planes to work with. Why not implement a system like texture indexes, where you can just create a new clip plane with glGenClipPlanes(n,*planes)?

Originally posted by halo:
It’s a pity there are only 6 clipping planes to work with. Why not implement a system like texture indexes, where you can just create a new clip plane with glGenClipPlanes(n,*planes)?
What use that would be? The limit is result of hw limitations (they are not cheap) not limitations of the api. The api allows driver to expose more clip planes however no driver as far as I know goes beyond the 6 required planes. In the texture case, even if you can have many texture objects, only several from them (16 on current hw) can be bound and used simultaneously. Unlike the textures which are data heavy objects with some validity semantics, the clip plane is composed of “arbitrary” four float values so there is no need to store it under some special object.