Book Image

Mastering openFrameworks: Creative Coding Demystified

By : Denis Perevalov
Book Image

Mastering openFrameworks: Creative Coding Demystified

By: Denis Perevalov

Overview of this book

openFrameworks is a powerful programming toolkit and library designed to assist the creative process through simplicity and intuitiveness. It's a very handy software library written in C++ to reduce the software development process, helping you to kick-start creative coding. With the help of C++ and shaders support, openFrameworks allows for the processing of all kinds of media information with your custom-developed algorithms at the lowest possible level, with the fastest speed. "Mastering openFrameworks: Creative Coding Demystified" will introduce you to a world of creative coding projects, including interactive installations, audio-visual, and sound art projects. You will learn how to make your own projects using openFrameworks. This book focuses on low-level data processing, which allows you to create really unique and cutting-edge installations and projects. "Mastering openFrameworks: Creative Coding Demystified" provides a complete introduction to openFrameworks, including installation, core capabilities, and addons. Advanced topics like shaders, computer vision, and depth cameras are also covered. We start off by discussing the basic topics such as image and video loading, rendering and processing, playing sound samples, and synthesizing new sounds. We then move on to cover 3D graphics, computer vision, and depth cameras. You will also learn a number of advanced topics such as video mapping, interactive floors and walls, video morphing, networking, and using geometry shaders. You will learn everything you need to know in order to create your own projects; create projects of all levels, ranging from simple creative-code experiments, to big interactive systems consisting of a number of computers, depth cameras, and projectors.
Table of Contents (22 chapters)
Mastering openFrameworks: Creative Coding Demystified
Credits
Foreword
About the Author
Acknowledgement
About the Reviewers
www.PacktPub.com
Preface
Index

Simple 3D drawing


For simple 3D drawing in openFrameworks, follow these steps:

  1. Add the ofEnableDepthTest() function call in the beginning of the testApp::draw() function to enable z-buffering. If you omit it, all the graphics objects will be rendered without respect to their z coordinate in correspondence with the graphical primitives' rendering order.

  2. Draw primitives as follows:

    • The ofLine( x1, y1, z1, x2, y2, z2 ) function draws a line segment between points (x1, y1, z1) and (x2, y2, z2). There is an overloaded version of the function, ofLine( p1, p2 ), where p1 and p2 have type ofPoint. Use the ofSetColor() and ofSetLineWidth() functions to adjust its rendering properties of color and line width.

      Note

      In Chapter 2, Drawing in 2D, we used the ofPoint class to represent 2D points using its fields x and y. Actually, ofPoint has a third field z, which, by default, is equal to zero. So ofPoint can represent points in 3D. Just declare ofPoint p and work with values p.x, p.y, and p.z.

    • The ofTriangle...