Openframeworks book - review request

hi everyone,

we’ve been working as a small group collectively on a book about openframeworks here:

we are not completely done yet (it’s still getting edits) but we wanted to put it out there in front of folks for feedback and get a sense of what they think, what needs love, etc. We have a repo, and we warmly invite you to make any issues or pull requests (it would be great if you can do these per chapter, please) :

specifically, are there any obvious corrections? is there some missing info you’d like about OF that you feel like we didn’t cover? Is there some topic or author you’d like to suggest?

there’s alot of love put into this book so far, we’re excited to see what people think and what it needs to be a good resource for the community.

Also, this is a pre-release so please refrain from spreading it too widely or tweeting about it.


Here are a few random thoughts…

I guess my first thought is that I’d like to see the methods listed on this page link to the API reference. For instance, ofRandom, under the math section. That holds for other pages in the book, too.

Here’s a super nitpicky UI issue… on this page, for instance, when you click on “Next Steps” in the menu, it never highlights because the header for Next Steps is too close to the bottom of the page.

On a similar note, I noticed that the URL changed when I clicked on a menu item, for instance, to:

However, when I scrolled up and down the page and various sections became “active,” the URL did not change. Likewise, and perhaps I’m too used to GitHub, I sort of expected/wanted the headers to have the little link icon appear next to them so that I could option-click/right-click to get the link to the section.

You might want to think about moving the Tools section closer to the top. For instance, readers new to openFrameworks might appreciate ofSketch info before digging into the meat of the text.

I would rename the “Project Breakdowns” section to “Case Studies.” I really like this section. It’s extremely useful, as a new user to a software library, to see examples of the library in use. Like many “cookbook” books and/or resources like, it’s enormously useful to be able to browse the code of working examples and/or read the thoughts of the people who built them.

I look forward to spending more time reading the book!


thanks for the feedback @clayh ! these are all good points and I’ll add them as issues for the repo

Great initiative! I’ve already read some portions here and there. When I have some time, I will read more of it and provide feedback here and/or on GitHub.


First of all, that is a great initiative! So thanks for it.
I took a fast look to it and seems quite complete.

At first sight there are one thing that I missed, and it is the use of the power of the hypertext. If the book will be always available online, I think many of the chapters can be completed with appropriate links: to the OF Api Reference as @clayh was mentioning and also wikipedia, c++ concepts, explanations and tutorials, installations and so on that can allow the user to complete the information he/she might miss.

Second, since this is a c++ cross-platform environment, I think there can be very useful if we can create a section to explain differences between platforms and IDE’s, pros and cons, how to manage dependencies, etc. In this line, creating a cross platform addon (or use it) sometimes is hard due to the availability of cross-platform libraries we are using. Mention some tricks or giving some complete tutorials can give much light and show us very good c++ practices. Since some of this info is already in the OF tutorials, should be a question or organizing them and step by step completing it.

When I have got more time i will dig a bit more to see if I miss something interesting. Btw, the sections about installing 4evr, that is a great idea.

Anyway, I am very excited about this project, so really like to help. @zach, could u point me a way to contribute, please?
Thanks a lot again for all the effort in OF and the book. Great job!


Oh nice :smile:
I’ve started an augmented reality company. And we use mostly Openframeworks.
I am crap in code but I found Openframeworks easy to use. And the multi-platforme thing is also really nice.
Started to read your book yesturday.
I hope I’ll have time to read it and make some review.
thanks a lot doin’ it.


Thanks so much for this guys.
I particularly like the approach on the math chapter, building up from 1d to 4d.
I’ve also found Arturo’s chapters on memory and threads very useful, this topics have always been quite obscure for me and I like how the clear and simple they are explained.
I keep reading it, so I’ll post back here if I came across something.

1 Like

Quite an extensive resource!

A few first thoughts and suggestions:

  • I miss a chapter on using ofxaddons. I only found brief references to the addons folder and However I think it is an important topic to include in a more detailed manner. The good, the bad and the ugly. Pointing readers to the fact that there are many addons, made within the OF community, for a 1001 topics, that can be used for projects. Use the richness of existing code to get where you want to go faster. Also how/where to find them (site, twitter feed). How to install them (git clone or download). The differences between addons that are c++ or OF code only versus addons that use external libraries / files themselves. Discussing to what extent addons are cross-platform and how to get the addons and their included examples running under different OSes & IDEs. And perhaps more things.
  • In Basics > Compiling My First App the reader is directed towards ideone. On this site the C++11 language is no longer in the list, only C++14.
  • In Advanced Topics > Memory in C++ there are many code snippets. Some of them miss a semicolon, which means you get compiler errors, when you copy-paste them to actually try it out in practice.
  • In Advanced Topics > Memory in C++ the & operator is called the reference operator. I am currently reading C++ Primer (5th edition) and in this book it is called the address-of operator, which I find a clearer name. Also, I found a valuable insight from the book that while the * & symbols are the same, the function is very different when they are used in a variable declaration (pointer or reference variable) or as an operator (dereference or adress-of) respectively. Hopefully I said it correctly and you know what I mean. :slight_smile:
  • In Advanced Topics > Advanced Graphics it may be useful to have some kind of quick-view comparison schematic of the different options mentioned on this page: ofPolyline, ofPath, ofMesh, ofVboMesh, and of3dPrimitive. For example when each should be used, unique features/limitations, 2D/3D, CPU/GPU, etc.
  • A similar comparison may be suitable with regard to the image options: ofPixels, ofImage, ofTexture, ofFbo. Also clarifying their respective constants with regard to GREYSCALE / RGB / RGBA.
1 Like

It may be a bit of nitpicking, but in the “Pointers and References” chapter I’d change the line"

“A pointer usually occupies 4/8 bytes”


“A pointer usually occupies 4 or 8 bytes”

It’s a bit confusing (is 4/8 a half of a byte?) and the subject is quite dense for beginers. I think it’d be good to make everything as clear as possible.

This book is an amazing idea and already has a lot of very useful information and such a concentration of oF Topics was lacking in the community.
You guys are incredible, keep up the good work!

Thanks for doing it!
I’ll suggest to add some information on how to publish to the App Stores.
I’ve spent lots of hours just dealing with xCode trying to understand what certifcate I’m missing, why I can’t validate my app, removing libraries that are not code signed, attaching the icons, changing the writing paths…

1 Like

Just a quick note that I’ve moved some of these notes here –
Definitely happy for any feedback and will try to turn it into actionable issues that we’ll work through.

i guess what i would recommend being a slight beginner is looking at files talking to other files.

say you have setup your own ofxGui in a class, that is ‘controlUI.cpp/.h’. it has its setting, its required controls you have put in.
you have everything setup. but you need it to talk to a different class you have made, say ‘myTriangles.cpp/.h’.

something which outlines and gives an example regarding using UI, or really any type of clickable/press-able object that can interact with something from a different file.

if there is something already in the book, i may have missed it. if so, could you let me know :wink:

all the all though, its looking good. is this the same one that has been on amazon for 3 years with its release date going back further and further? :wink:

oof, I didn’t realize that was still up. All I can say is fatherhood threw a wrench into my plans, but I never signed a contract (we were just discussing terms) so I’m not sure how this book got up on amazon…

aye, i remember i pre-ordered it a million years ago. but then the dates kept changing. i then took my pre-order off and actually stopped open frameworks for about a year. but im back :slight_smile:

but no worries though, things happen :wink:

here is the link for the uk one. it was for make magazine, or part of their line up of books

It’s also still up on Barnes and Noble here and many derivative sites if you search it’s ISBN: 9781449319144.