Skip to content

Tutorials, Examples and Documentation

rtilton1 edited this page Feb 21, 2012 · 31 revisions

Tutorials are descriptions of how to accomplish a task. They are generally accompanied by an example.

An example is a demonstration of something with code. It could be demonstrating how to accomplish a task from a tutorial, or it could be demonstrating how a single function works.

Documentation refers to all of these things, but especially the class-by-class, function-by-function reference at http://www.openframeworks.cc/documentation

Documentation

Pretty much everything can be improved here.

  • Improved and featured (i.e. on openframeworks.cc) version of the P5-to-OF rosetta stone -- GAB

  • Improved descriptions. For example, a widely used class and its first few methods usually have a few sentences or a paragraph explaining what they do, but these tend to fall off as you scroll down the page. Would be nice to have a description for each function in the online docs. -- GAB

Tutorials

What kinds of tutorials are needed or need to be improved?

  • potentially moving some of the tutorials from the wiki to the site, or cleaning them up / modernizing them. For example, the OOP tutorial and the OF / P5 tutorial could use some love and I think are better suited for web pages then a wiki.

  • Git workflow: How/why do I work with git? How can I accomplish specific OF-related tasks with git? ([Christoph]: I intend to tackle at least part of this)

  • STL (vectors, linked lists, maps, deques) (should we really make STL tutorials? I figure there must be millions on the net already - Christoph). (I think discussing how STL works with OF objects, some pitfalls, etc will be really helpful. This is already part of the OOP tutorial, but I think it's useful to show how c++ libraries can be a big help).

  • video tutorials, everyone should do a short video explaining something. The topic can be anything but probably things like setting up OF make more sense than code related topics.

  • On the same note as the video tutorials, I was wondering if videos of the provided example apps would be helpful. Videos like James' are great for people to get a feel for the capabilities before diving in. The ofxTimeline example and his TSPS+Unity example come to mind. -jvcleave

  • Not sure where this fits in but one of the appealing things about OF is the direct access to a variety of cameras, sensors, external equipment, etc. What if there were a collection (Wiki-like I guess) of equipment used, referenced addons, watchouts, performance... -jvcleave (+1 this is great and has been done informally)

  • There are a lot of workshops that are held by the OF community that produce great work in short periods of time and low barriers to entry. What makes a good workshop and what are good pre-requisites? Should we provide presentation/workshop materials to the community? (thinking of Roxlu's slideshares) -jvcleave

  • A beginners guide to the GPU pipeline with examples using the relevant OF classes: ofTexture, ofShader, ofFbo, ofVbo, etc. (this could also be conceptualized as a reference) -- GAB

  • How to use lights effectively in 3D. The relationship between lights and materials. I feel like there's nearly nothing out there about ofMaterials or ofLight. -- GAB

  • Better beginner examples for standard file handling stuff: load and parse/write and save xml, search through a directory for a file, etc. This could mainly be highly modularized examples that people could work off of. -- GAB

  • Some ofAssimpLoader examples: loading a mesh, playing back existing mesh animations, controlling a rigged mesh. -- GAB

  • More resources for working with networking in OF: basic web API examples, socket communication examples, and tutorials. -- GAB

  • setting up a kinect with OF overview

  • computer vision 101

  • making an addon, adding addons, etc.

  • Games! Collisions, using Vanderlin's Box 2D libraries...

  • Tutorial on Event Handling and maybe how to build a simple GUI button or slider

  • Tutorial on arrays - Array of ints, array of strings, array of images, array of objects, array of arrays (multiple image sequences & simple particle system)

Examples

Which examples are in dire need of improvement? Which core functionality needs examples in the first place?

  • ofBuffer / ofFile / ofDirectory need examples now.
  • ofDataPath / working directory, etc.
  • ofCamera could use more tutorials and the 3d tutorial is a bit too complex, simpler smaller 3d examples
  • ofPixels / ofPixelsRef, etc could be useful
  • fbo, advanced fbo options. For example, showing how trails in a floating point fbo look vs trails in a non floating point fbo. Sort of "best practices" and ideas to try out.
  • more about shaders and fbos.
  • some sort of OPENGL stress test example, that says, "my machine can do X,Y but not Z". luaAV has a fairly good one to look at.
  • ofMesh, approaches to working with meshes, etc.
  • Anything vbo related.