Originally posted by rj_gilbert:
And each element in the molecule needs its own sphere bitmap (conventionally, oxygens are red, nitrogens blue, hydrogens white etc.).
You don’t need separate bitmaps; just use a greyscale texture to modulate a different base colour for each type of molecule.
If sphere (and cylinder) primitives were added to the OpenGL spec, then surely the hardware manufacturers would follow without too much delay. The GLU library already provides the API calls, so existing code wouldn’t need to be altered to take advantage…
One: hardware manufacturers wouldn’t touch it with a bargepole, and rightly so. There’s a limited amount of silicon real estate on a gfx chip, and no designer is going to sacrifice gaming or CAD/CAM performance for features which are only really useful for molecular modellers. (Come on, who else draws nothing but spheres and cylinders?)
Two: GLU isn’t widely used for performance work; the GLU primitives are more suitable as a quickstart when learning OpenGL than for serious use. So very little existing code would benefit.
Three: OpenGL already has evaluators, which would allow hardware manufacturers to boost quadric rendering if they really wanted to. They don’t; there isn’t the market for it. NVIDIA’s original chipset, the NV1, was based on quadrics rather than triangles, and it almost killed them.
IMO, OpenGL’s goal of orthogonality is a good one - stick to features which will be widely used and which can’t easily be implemented in terms of other, existing features. By keeping the core feature set small we gain flexibility and hardware manufacturers don’t have to guess which bits to accelerate.