4 ms·
Graphics programming in general has a pretty steep learning curve in the beginning compared to other fields of programming. Even with simpler OpenGL it's not s
by ss248 9y ago
Graphics programming in general has a pretty steep learning curve in the beginning compared to other fields of programming.
Even with simpler OpenGL it's not so easy. You need to have quite a bit of knowledge before you even get your first triangle (hello world of graphics programming). Context creation, extension loading, buffer objects, matrices, shader writing and compiling. Even with frameworks to help you, it's much more complex than your usual hello world.
- fulafel 9y agoYes, OpenGL is pretty low level too. It may be better to start with a high level library or framework, you can still drop down to writing shaders, octrees or tessellators or whatever for experiments.
- pjmlp 9y agoOn the old days OpenInventor was a good introduction to OpenGL, nowadays maybe something like three.js or babylon.js. Just to get the hang of it.
- badsectoracula 9y agoWell, you can ignore all that and use glBegin, glEnd, glColor, glRotate, glTranslate and all that stuff. If you are ok with having OpenGL manage your resources and GPU memory, you should also be ok with having OpenGL manage your vertex buffers and vertex attributes too. It also makes it easier to transition from "use red color for a rotated triangle" to "use this shader that uses the red color i asked for a rotated triangle" to "use this shader that uses this vertex attribute (that happens to be a color) and this global (that happens to be a transformation matrix)". The only issue with this approach is that "officially" that stuff is deprecated but at least in practice Nvidia has said that they're not planning on ever removing that functionality and it also seems to be the case with AMD's own OpenGL implementation. The only issue is with the Linux drivers that depend on Mesa (and i hope this is a temporary roadblock), like the open source AMD drivers, and with Apple's OpenGL implementation. But even then this would only be an issue when you want to start using the more advanced stuff (since you can still use the older API in both Mesa and Apple, it is just that you cannot mix it with the newer calls), at which point you'd probably be ready to switch to Vulkan anyway.