I have heard some stories, mostly anecdotes, about how software vendors working on graphics drivers must stick or adhere to certain OpenGL specifications.
I think I read one, but I may be mistaken on some details.
Like, there was a story about how core OpenGL implementations are strict enough that there must only be 1 way of rendering a texture (horizontally, then vertically) or something not (vertically, then horizontally).
A better story is about describing the optimal performing primitives in OpenGL for triangle lists. And tells about a time when there were many different representations of triangles in a triangle list. Some OpenGL vendors have use different implementations and strategies to offer optimal solutions. And they did it because in the past, on graphics cards, there are hardware accelerators that couldn’t process triangle lists very well. Something about how the hardware accelerators often transformed and blit a vertex each time it was encountered in the index list, even if it had been processed earlier. But over the years, modern hardware accelerators can cache transformed vertices and reuse them if the indices that refer to them are “close together” in the array.
And then the story discussed about the opportunities in seeking out optimizations to the hardware accelerators and/or the way triangle lists were implemented for OpenGL.
I would like to read up on some of these OpenGL stories. Are there any? Thanks.