-
Notifications
You must be signed in to change notification settings - Fork 0
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? There is a lot of stuff on the old wiki (analyzed at Old-Wiki-Analysis) and interlaced throughout the list below.
-
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 ??) ( http://wiki.openframeworks.cc/index.php?title=OF_Start_Up_Guide https://docs.google.com/document/d/1J20kpNou9SANkKy89jx-qBVEnNH6ciQjIOgxMxDvfNY/edit?hl=es http://www.betasix.net/install-openframeworks-codeblocks-in-linux/ http://web.onassar.com/blog/2011/05/08/getting-openframeworks-to-work-on-osx-command-line/ )
- 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 ) ( http://www.openframeworks.cc/setup/ https://vimeo.com/33985058 http://www.sparkfun.com/tutorials/318 )
- oF Project structure ( src, bin , bin/data, core and addons ) and how testApp works (
setup()
/update()
/draw()
/ keyboard, mouse, windows events ) ( http://wiki.openframeworks.cc/index.php?title=OF_code_structure_%28image%29 http://www.quietless.com/kitchen/getting-started-with-openframeworks/ https://docs.google.com/document/d/1s1s0wPWiVA1AIpbke1CnJehl1eMkqcB4kshML0HM2Xs/edit?hl=es http://www.lucaswerthein.com/blog/?p=567 https://vimeo.com/13159856 http://www.41post.com/3291/programming/configuring-openframeworks-add-ons-in-codeblocks http://www.doc.gold.ac.uk/~ma501ed/Open%20Frameworks.pdf) - Compiling your first project. Basic guide to start compiling the awesome OF examples ( https://vimeo.com/13159243 https://vimeo.com/13159451 https://vimeo.com/13160134 https://vimeo.com/13268726 https://sites.google.com/site/ofauckland/tutorials/project-templates )
-
Some basic programming principles ( We can follow Toddy book or Daniel Shiffman order )
- 2D Cartesian coordinates, drawing some stuf (
ofCircles()
,ofRectangles()
,ofColor()
,ofFill()
, etc ) ( Basic OpenGL drawing http://wiki.openframeworks.cc/index.php?title=OpenGL_in_openFrameworks https://vimeo.com/13268791 ) - Variables ( native C++ type:
bool
,char
,int
,float
,double
and some openFrameworks variables:ofGetWindowsWith()
,mouseX
,ofGetFramerate()
, etc )... // timing / timers timers , fDelay, ofGetTimerate, -> may this could be a tutorial to tools (progress bars, timers, alarms, etc) - Loops and conditions
- Math handy stuff:
ofRandom()
,ofNoise()
,ofPoint()
,ofVec2f()
,ofVec3f()
,sin()
,cos()
,atan2()
,abs()
,mod()
(Next step in this direction it´s hard-math-freaking knowladge likeofQuaternions()
andofMatix3x3()
andofMatrix4x4()
) Math basic trigonometry (tutorial & example?? / Keith: at what point we have to stop? ): sin(), cos(), atan2(), abs() ,mod() , etc. Good P5 reference http://processing.org/learning/trig/ Good ofNoise examples ( 1D, 2D, 3D, simple, perli noises ) - Methots and Classes ( examples: we can start making a PARTICLE EXAMPLE http://wiki.openframeworks.cc/index.php?title=Basic_particle_system / Spanish example: https://docs.google.com/document/d/11nWCPHqy5dw1Ys7yqL_9vE66yz3P4hjWqhHc_GlDs2g/edit?hl=es / http://www.benmcchesney.com/blog/2011/07/attraction-repulsion-pixels-in-open-frameworks/ )
- Arrays and Pointes ( examples: pixel by pixels stuff and other mirror applications http://wiki.openframeworks.cc/index.php?title=Image_processing http://wiki.openframeworks.cc/index.php?title=Making_VectorFields_from_images / spanish https://docs.google.com/document/d/1aUhvjuBWcaN4p1Vze4yKeEAeTdM1hzxVylCeq-4E24A/edit?hl=es )pointers / vector of pointers / delete-new / pass by copy / pass by reference / pass by pointer (important: focus on operators ) / ASCII art generator / pixel value // getColor getPixel getPixelsRef ( Green Screening from James , Color Tracking )
- 2D Cartesian coordinates, drawing some stuf (
-
Going deeper in to OF
- Transition tutorial from other frameworks and lenguajes: like OPP tutorial ( http://wiki.openframeworks.cc/index.php?title=Ooops%21_%3D_Object_Oriented_Programming_%2B_Classes) and P5 Tutorial ( http://wiki.openframeworks.cc/index.php?title=OF_for_Processing_users / this is a spanish translation https://docs.google.com/document/d/1piMIfBW_RlKn_q7cjdQ4kvtJIl6Pl-3DSPDvaDPETsg/edit?hl=es / It seams that it´s a Chiness one that Kyle found / http://vormplus.be/blog/article/introduction-to-openframeworks / http://argentgray.com/programming/openframeworks-tutorial-1 ) both from the wiki. ( Example: one way to put all this things on the road it´s through start building a BASIC PARTICLE EXAMPLE that first make an object and the makes array of it )
- breakpoints / debugging, operators (operator overloading)
- Tutorial on arrays - Array of ints, array of strings, array of images, array of objects, array of arrays (multiple image sequences & simple particle system)
- I/O:
ofFile()
/ofDirectory()
/ofURLFile()
(More like Ruxlu powerpoints but with examples: http://www.roxlu.com/blog/entry/145/openframeworks-007-presentations ) ( ofBuffer -> brute force for html pages. ofHttp ) - Sound: (More like Ruxlu powerpoints but with examples: http://www.roxlu.com/blog/entry/145/openframeworks-007-presentations )
- Text Examples: a mix of chars arrays,
string
,ofToString()
andofTrueTypeFont()
- Events:
ofEvent()
andofEventListener
Tutorial on Event Handling and maybe how to build a simple GUI button or slider ( http://wiki.openframeworks.cc/index.php?title=OF_Event_System ) - Graphics: General openGL and GPU pipeline: ofTexture, ofShaders, ofMesh, ofVbo, ofNodes, 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 Meshes + ofx3DModelLoader and ASSIMP ( http://forum.openframeworks.cc/index.php/topic,519.0.html / Port this http://www.creativeapplications.net/tutorials/shaders-geometry-and-the-kinect-part-1-cinder-tutorials/ http://www.creativeapplications.net/tutorials/guide-to-meshes-in-cinder-cinder-tutorials/ http://www.creativeapplications.net/tutorials/images-in-cinder-tutorials-cinder/ to oF , simple ofShader example (ofxFx and kyle ofxBlue and DoF vertex shader ) , ofCamera example (3D cameras) -> Zach: camera based on ofFbo )
- 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 - OS specific tutorials. How to go down to ... libraries... Poco... ios... etc.
-
Going further or beyond the limits ( ADDONS )
- 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 ( http://wiki.openframeworks.cc/index.php?title=Adding_addons http://wiki.openframeworks.cc/index.php?title=Making_addons https://github.com/openframeworks/openFrameworks/issues/896 https://vimeo.com/34092591 )
- Make some tutorials that show what behind some 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
- Good oF practices:
ofLog()
( https://github.com/openframeworks/openFrameworks/issues/858 ) ,ofGetAppPtr()
( http://forum.openframeworks.cc/index.php?&topic=3962.0#p20661 ), maybe a little explanation about smartPointers / log / logging (4 example: writting to a file / events) pre-debugging tips tutorials ( commong practices ) / breakpoints / debugging / operators (operator overloading) - 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.
-
Deep and Punctual Tutorials: from here it´s more about going deep on a particular subject.
- Computer Vision: ofxOpenCV / ofxOpenNI / ofxKinect / ofxFaceTracker ( http://wiki.openframeworks.cc/index.php?title=Color_Tracking )
- Mobile: ofxiPhone and iOS ( http://wiki.openframeworks.cc/index.php?title=OfxiPhone_comprehensive_guide http://www.memo.tv/archive/iphone ) / ofxAndroid (http://www.openframeworks.cc/setup/android-eclipse/ http://www.multigesture.net/articles/how-to-setup-openframeworks-for-android-on-windows/ http://www.flickr.com/photos/kylemcdonald/4636699390/ http://forum.openframeworks.cc/index.php/topic,3961.0.html http://www.creativeapplications.net/iphone/camera-apps-iphone-tutorial-openframeworks/ http://julioterra.com/downloads/open_framework/set-up_tutorial.pdf http://www.memo.tv/simple-openframeworks-application-on-iphone-sample-1/)
-
Found this examples that seams part of a workshop https://github.com/obviousjim/OFIntros
-
ITP [email protected] Spring 2010: http://itp.nyu.edu/varwiki/Syllabus/Pixels-S10 http://itp.nyu.edu/~sb3367/Blog/?p=244
-
ofAuckland Examples and tutorials! https://sites.google.com/site/ofauckland/
-
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. (working on a ofBuffer/ofFile example loading .csv files -jvcleave)
- 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