Pertaining to the use of any general Physics Engine that is coupled into any Game Engine I found this to be of interest: http://www.opengl-tutorial.org/miscella ... s-library/
I like how they stated:
Physics engines don’t know anything about OpenGL; and in fact, all of them can run without any 3D visualization at all. So you can’t directly give Bullet your VBO. You have to add a Rigid Body in the simulation instead.
I find this to be useful information as we begin to improve upon the current Shader Engine for when we begin to work in a 3D environment. With this type of information we could simply integrate an already existing Physics Engine that would work seamlessly with our current model without having to create every aspect of a physics engine. This would allow for a more robust and reusable addition to our current Solution. However, with that being said; I still like the approach and idea of having tutorials to build a generic Physics Simulation from the ground up since it provides the methods and approaches taken into developing a professional source code base. Taking the long approach is a lot more effort and work and in other ways it defeats the purpose of not re-inventing the wheel, but having a tutorial of such is still a great way to learn the methodologies that are used into creating such a structure. The later approach also enhances the ability to asses, problem solve and to reinforce the construction of the underlying mathematical, programmable and algorithm building aspects of any application.
Yes, in the real world application in the development process it is much wiser to use already existing and tested libraries that have adequate and proper documentation that are quite easy to integrate and use within your own application. Now, as for the learning or studying approach the process of building one such library from the ground up may be arduous, tedious, harder, longer to develop, write and debug, and more prone to errors; it still offers the ability to strengthen one's knowledge of the current IDE, programming language and engineering skills.