|
|
|
|
|
by pavlov
3883 days ago
|
|
... then you'll start to wonder why graphics programmers came up with such complicated words to describe such simple concepts... In general, the reason is that these were not the first concepts that they came up with. Often they started out with even simpler concepts that didn't even need names -- but it eventually turned out that these were too simple to offer good performance, or did not map adequately onto evolving hardware. The original way to draw a triangle in OpenGL didn't involve vertex buffers at all. Basically you just said "OpenGL, draw me some triangles": glBegin(GL_TRIANGLES);
glVertex3f(0, 0, 1);
glVertex3f(1, 1, 1);
glVertex3f(0, 1, 1);
glEnd();
That was all -- no need to create buffers or bind them. The same simplicity extended everywhere: instead of writing and binding shaders, you just declared what kind of lights and materials you wanted before rendering your triangle.But when we got programmable GPU hardware that could execute whole programs separately from the CPU, these old simple ways became a tremendous performance bottleneck and an obstacle to implementing more advanced rendering algorithms. On the desktop, all the old OpenGL APIs still work, but they were removed entirely from the mobile edition. |
|