Implementing with Cinder?

I’m currently working through’s lessons on OpenGL, using a cinder project as my base. However, I’m quickly finding this an impossible task, since so much of the material depends on very direct access to OpenGL. I suspect that everything the lessons are asking me to do is possible via Cinder’s OGL API, but the documentation doesn’t provide any sort of translation between the API and what a programmer would write with plain OpenGL in C++.

This seems partially related to actually absent OpenGL features, like Forward Compatibility. Currently it seems like the only resources I can actually learn from are those written specifically for the Cinder OGL API, and those resources are sparse in comparison to those written with only basic OpenGL In mind.

Anyone know of a good guide to translating between the two, or maybe a version of that is written for Cinder specifically? I’m doubtful that the latter exists, but if the former hasn’t already been created, I may Just start on that so that I can save others the time I would spend digging to get the info I need.

Hey @Droojohnson,

I undertook a similar endeavor sometime last year doing an everyday coding challenge and attempted to implement topics from It can indeed be tricky to do the translation from raw OpenGL to Cinder, as you said, but going through the process gave me a much better understanding of Cinder’s GL implementation. I followed the tutorials on in order, but they’re not really named as such in my sketches. You can see the results here, and the github repo containing all the code is here.

As a disclaimer, these sketches are hardly a ‘best practise’ approach, and some may be hackier than others, as I was after all also just learning myself, but hopefully you find them useful. Feel free to reach out if you have any questions about any of them.


I’ve been a dev/designer for 8+ years now, and I really should know by now that stubbornly digging my heels into solving a problem by myself is never as quick or rewarding as checking with the community.

I’ll learn someday.

Thank you sir, this is literally exactly what I was trying to do, and getting a better understanding of OpenGL and Cinder’s specific version was the goal from the start. This is perfect, and infinite kudos for keeping them in a repo!

No problem, just keep in mind that I’d only been coding for ~1yr when I did that, so several of the daily sketches have bugs that sometimes get solved/revisited in sketches a few days later, but some don’t. I also asked plenty of questions here on the Cinder forum when I got stuck, and those answers are always super helpful+informative, so it might be worth searching for those if you encounter similar problems! Let me know how you get on, keen to see your take on it.