Welcome to cleap's reference manual. In this place you will find the documentation of the functions, data structures and primitives implemented in the library. Additionally, we provide instructions on how to compile, link and run cleap with other programs.
Description:
cleap is a CUDA based library for handling and processing 3D meshes. It was created for the purpose of making our Computer Science research accesable and usable by other developers. We hope that in the future this library grows in functionalities.
Features:
- Compiler modularism (users develop their project with normal gcc and g++)
- Parallel gpu accelerated functions:
- Abstraction on the mesh data structure.
- Embeddable self rendering for OpenGL applications.
Project Homepage.
https://github.com/crinavar/cleap/
API Reference.
Complete API Documentation of functions and the mesh data structure is available on the html doc (From the top menu, go to Files->File Members). Also, you can check the equivalent pdf manual "refman.pdf" from our projects site site .
Contents:
Hardware requirements.
- A CUDA enabled GPU with CC >= 1.1 (Geforce 9800GTX, GTX 2xx, GTX 4xx, GTX 5xx series, to name a few GPUs with Compute Capability >= 1.1)
- GPU support for OpenGL 2.1 or higher.
Dependencies.
- Nvidia video driver CUDA capable.
- CUDA runtime >= 3.0.
- GLEW >= 1.5.0 (OpenGL Extension Wrangler).
- cmake (OPTIONAl – if you wish to re-compile the library).
Manual install from binaries.
- Download the binaries (only *.deb at the moment) from the project's web-site hosted by Sourceforge.
open a terminal and type:
~$ sudo dpkg -i <cleap_package_name>.deb
- If everything went ok, then the library should be installed inside /usr/local/ in the standard GNU way
Install from sources.
- Check that you've got Nvidia's CUDA compiler installed and available from $PATH (run "nvcc --version" and see if you got at least CUDA 3.0).
- Download the sources package at the project's website hosted by Sourceforge. Optionally, you can get the latest build from "git clone git://git.code.sf.net/p/cleap/code cleap-code".
- Extract the library and go to its main directory, then perform the following commands (x.x is just for being generic):
~$ cd cleap-x.x
~$ mkdir build
~$ cd build
~$ cmake ..
~$ make
~$ sudo make install
- If everything went ok, then the library should be installed inside /usr/local/ in the standard GNU way
- If you want to generate a *.deb package, then instead of Use: .
Compile and link with cleap.
- make sure you set
CFLAGS
properly: CFLAGS = -I ${PREFIX}/include/cleap-x.y.z
where most of the times ${PREFIX} is = /usr/local
and x.y.z is the version you downloaded.
- For linking, make sure you set
LDFLAGS
properly: LDFLAGS = -L ${PREFIX}/lib -lcleap
For example, if i download and install cleap-1.0.0 version, then i could create an application that uses and compiles with cleap:
g++ my_application.cpp -o app -I /usr/local/include/cleap-1.0.0 -L /usr/local/lib -lcleap
The same for a "C" only application:
gcc main.c -o app -I /usr/local/include/cleap-1.0.0 -L /usr/local/lib -lcleap
Example program.
You can download the following example program from http://sourceforge.net/projects/cleap/files/cleap_example.tar.gz/download .
#include <stdio.h>
int main(int argc, char* argv[]){
}
Mesh is included in the files.
License.
Copyright © 2011 Cristobal A. Navarro. This software is under the laws and terms of the GPL v3 License.