All openFrameworks projects have a similar structure of folders and files. Let's consider this in detail by looking at the openFrameworks' pointCloudExample
project.
Open the examples/3d/pointCloudExample
folder. It consists of the following files and folders:
bin
folder contains an executable file of the project (maybe also a number of libraries in the .dll
files will be there—it depends on your operating system). If you compile the project, as it is described in the Installing openFrameworks and running your first example section, most probably you will find there is an executable file named pointCloudExample_debug
.The _debug
suffix means that the project was compiled in the Debug mode of compilation. This mode lets you debug the project by using breakpoints and other debugging tools.
Projects compiled in the Debug mode can work very slowly. So when your project is working properly, always compile it in the Release mode of the compilation. Many examples in the book should be compiled in the Release mode for good performance. In this case, the executable file will be called without the _debug
suffix, such as pointCloudExample
.
bin
folder you will find the data
subfolder. This is a folder where all your contents should be located: images, videos, sounds, XML, and text files. openFrameworks projects use this folder as a default place for loading and saving the data.In the considered project, this folder contains one image file named linzer.png
.
This image consists of pixels, which hold red, green, blue, and alpha color components (red
, green
, blue
, alpha
). Each image's pixel (x
, y
) is transformed into a 3D point (x
, y
, z
) with color (r
, g
, b
, a
), so that the point's third coordinate z
is calculated from the alpha
value. As a result we obtain the resultant 3D point cloud, which is drawn on the screen. (See Chapter 4, Images and Textures, for details on getting the pixels' colors from the images.)
src
folder contains C++ source codes for your project. Often, source codes are represented in just three files: main.cpp
, testApp.h
, and testApp.cpp
. We will consider these files a bit later, in the Code structure of a project section. Note that this folder can contain other .h
and .cpp
files of your project.Also the project's folder contains a special project file for your development environment. It has extension .sln
(Visual Studio), .xcodeproj
(Xcode), or .workspace
(Code::Blocks). This is the file which you should open in your development environment in order to edit, compile, and run the project. (In the considered example it has the name pointCloudExample.sln
, pointCloudExample.xcodeproj
, or pointCloudExample.workspace
.)
Additionally, the project's folder can contain some other files, for example, the current project settings (the set of files depend on the development environment).