I don’t know if this makes sense to the majority, but I have felt a serious lack of orthogonality in the openGL API as of lately.
I’m not thinking of extensions here (e.g. FBO) but core stuff.
glBitmap? Only for FB. Why not the current 2D texture? It’s slow (as hell) doing the same thing to texture.
Texture copy operations? Why forcing us to first copy to FB and then to another texture when a texture-to-texture copy would be optimal (all on the server)? What about copy sub-rect (64,64)-(192,192) from one texture to (0,0) on another texture of size(128,128)?
Simplified copy operations for pixel transfers. I want one set having NO transformations and/or pixel operations, and the other working as they do today (to not mess up the spec).
Better pixel-coordinate-specifications for the operations that need it. 2D op’s should be easy, not a bitch.
A new mode (perhaps), to flip ‘y’ for pixel op’s. All, and I do mean all 2D pixel API’s I know of uses top-left coordinate system. It’s the only thing that really makes sense on computers, knowing CRT sweeps. Wouldn’t it then be reasonable for OpenGL to also have
Make it possible to copy both from FB and from another texture “upside-down”. Currently, if you have a texture in one y-direction, and you for some reason need it upside-down, you need to:
- Render it as a quad to FB.
- Copy it to the FB but upside-down to another place.
- Read the texture from that place.
Why not simply allow PixelZoom for a new texture operation?
These are jusr a few of my current gripes, but hopefully enough to get a discussion stared. OpenGL has IMO stagnated (for both good and bad), but this is an area it needs to attend to.