# Implementing Learnopengl.com with Cinder?

**URL:** <https://discourse.libcinder.org/t/implementing-learnopengl-com-with-cinder/788>\
**Category:** Using Cinder\
**Created:** [July 15, 2017, 1:58pm UTC](https://discourse.libcinder.org/t/implementing-learnopengl-com-with-cinder/788 "2017-07-15T13:58:37Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Droojohnson](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.libcinder.org/droojohnson/32/398_2.png) [@Droojohnson](https://discourse.libcinder.org/u/Droojohnson)\
**Post date:** [July 15, 2017, 1:58pm UTC](https://discourse.libcinder.org/t/implementing-learnopengl-com-with-cinder/788/1 "2017-07-15T13:58:37Z")

</div>

I’m currently working through [Learnopengl.com](http://Learnopengl.com)’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 [LearnOpengl.com](http://LearnOpengl.com) 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.

---

<div class="post-metadata">

**Author:** ![Craigson](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.libcinder.org/craigson/32/43_2.png) [@Craigson](https://discourse.libcinder.org/u/Craigson)\
**Post date:** [July 15, 2017, 3:20pm UTC](https://discourse.libcinder.org/t/implementing-learnopengl-com-with-cinder/788/2 "2017-07-15T15:20:47Z")

</div>

Hey @Droojohnson,

I undertook a similar endeavor sometime last year doing an everyday coding challenge and attempted to implement topics from [learnopengl.com](http://learnopengl.com). 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 [learnopengl.com](http://learnopengl.com) in order, but they’re not really named as such in my sketches. You can see the results [here](https://craigpickard.net/work/#/100-days/), and the github repo containing all the code is [here](https://github.com/Craigson/100days).

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.

---

<div class="post-metadata">

**Author:** ![Droojohnson](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.libcinder.org/droojohnson/32/398_2.png) [@Droojohnson](https://discourse.libcinder.org/u/Droojohnson)\
**Post date:** [July 15, 2017, 3:40pm UTC](https://discourse.libcinder.org/t/implementing-learnopengl-com-with-cinder/788/3 "2017-07-15T15:40:15Z")

</div>

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!

---

<div class="post-metadata">

**Author:** ![Craigson](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.libcinder.org/craigson/32/43_2.png) [@Craigson](https://discourse.libcinder.org/u/Craigson)\
**Post date:** [July 15, 2017, 3:44pm UTC](https://discourse.libcinder.org/t/implementing-learnopengl-com-with-cinder/788/4 "2017-07-15T15:44:32Z")

</div>

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.
