-
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Tutorials, Examples and Documentation
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
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
What kinds of tutorials are needed or need to be improved?
-
BootCamp (All this could be some small and friendly videos... some of this things are already on the openFrameworks Vimeo account but seem unaccessible from openframeworks.cc )
- I´m going to a OF Workshop, What I need to do before going?: downloading oF, installing IDE, installing dependences, compiling the core. (May be: installing macport, git-core, python stuff for project generation ??)
- Some theoretical and friendly introduction to C++ compilers and pre-compilers works. (Basicaly why it´s going to look different from all-in-one Processing IDE´s )
- oF Project structure ( src, bin , bin/data, core and addons ) and how testApp works ( setup() / update() / draw() / keyboard, mouse, windows events )
- Compiling your first project. Basic guide to start compiling the awesome OF examples
-
Some basic programming principles ( We can follow Toddy book or Daniel Shiffman order )
- 2D Cartesian coordinates, drawing some stuf ( ofCircles, ofRectangles, ofColor, ofFill, etc )
- Variables ( native C++ type:
bool
,char
,int
,float
,double
and some openFrameworks variables: ofGetWindowsWith(), mouseX, ofGetFramerate(), etc ) - Loops and conditions
- Arrays and Pointes ( examples: pixel by pixels stuff and other mirror applications )
- Methots and Classes ( examples: we can start making a PARTICLE EXAMPLE)
-
Going deeper in to OF
- A generic map and explanation about
openFrameworks/lib/openFrameworks
and base libraries ( openGL, assimp, etc..) in order to give a general more clear idea what OF is. And people start geting excited about the things they CAN do with OF - Transition tutorial from other frameworks and lenguajes: like OPP tutorial and P5 Tutorial from the wiki. ( Example: one way to put all this things on the road it´s through start bulding a BASIC PARTICLE EXAMPLE that first make an object and the makes array of it )
- 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). ( Example: in this point we can return to the previous example and make an ADVANCE PARTICLE EXAMPLE using vectors and lists )
- 3D: some OpenGL basic things, cameras, lights, etc
- What are addons and how to deal with them? ( In this point it could be really handy to give some basic GIT information in order to start having fun exploring ofxAddons.com
- A generic map and explanation about
-
Going further or beyond the limits ( ADDONS )
- some stuff that use addonExamples
- 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)
-
Use && Contribute
- 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)
- How to make good addons that can be compiled succesfully over all platforms.
- Code style
- Core contribution. maybe here it´s a good place to talk about the history of openFrameworks Core and how/why things are like they are.
-
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
-
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)
-
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
-
port everything from the old wiki. / Potentially moving some of the tutorials from the wiki to the site, or cleaning them up / modernizing them.
-
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
-
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
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.
- tweening example (Golan)
- color example (Golan)
- Anything vbo related.
- "myApps" in "examples", containing emptyExample