OpenGL Essentials LiveLessons (video)

OpenGL EssentialsOpenGL Essentials LiveLessons (video)

Author: Paul Varcholik
Publisher: InformIT
ISBN-10: 0-13-382414-4
ISBN-13: 978-0-13-382414-8
Course Length : 6 hours and a bit
Rating: 6/10

These videos are intended for all skill levels, and all source code is available but requires Visual Studio 2013 (any version), no transcript is available. It also appears that the author supplies some degree of support at his website – varcholik.org.

The presenter and author, Paul Varcholik, has a pleasant enough speaking voice something that shouldn’t be underestimated and all the material presented is both accurate and useful.

Although supposedly intended for all skill levels, beginners will quickly find themselves overwhelmed by the amount of material covered. And if you’re not proficient with C++ and Visual Studio you’ll have a very tough time indeed.

A lot of time is spent explaining Visual Studio set up and the supporting libraries, as well as the framework used throughout the examples. To a degree this is understandable. C++, OpenGL and Windows lack matrices, 3d vectors, texture loading, asset loading and access to features after OpenGL 1.2 and so require libraries like GLFW, SOIL, ASSIMP, GL3W and GLM, but they could have been introduced and explained as needed rather than all presented upfront. Similarly time has to be spent explaining the framework, which while practical in a real world setting here merely distracts from OpenGL. OpenGL (and shaders in particular) can be mind-bending enough without distractions.

So, there is lots of explaining… lots and lots and lots. As with some other video courses I’ve seen, there were few illustration or diagrams and too much reliance on code to explain some points. Additionally, there was no interaction, no experimentation and no exercises to actively engage the viewer and to focus on the topics covered.

I was very surprised by the use of “<<" to send data to the shader program. This gives rise to a rather odd looking syntax: mShaderProgram.WorldViewProjection() << wvp; rather than the "expected": mShaderProgram.setWorldViewProjection(wvp); The supplied Visual Studio solution also has at least one gotcha: shaders are copied to the exe folder on the first compilation, so any subsequent changes to the shaders require the project be cleaned then rebuilt to take effect. With six videos and no transcript it's almost impossible to navigate around the material. Ultimately, despite what may seem an overwhelmingly negative review it's impossible to give this a poor mark since the content is accurate and what is covered is covered thoroughly, but it is also very difficult to recommend it. It's not bad just very difficult to penetrate.