Tucano  0.1
A library for rapid prototyping with modern OpenGL and GLSL
Tucano Namespace Reference

Namespaces

 Effects
 
 GUI
 
 ImageImporter
 
 Math
 
 MeshImporter
 
 Misc
 
 Shapes
 

Classes

class  AtomicBuffer
 An Atomic Buffer object (inherited from BufferObject). More...
 
class  BufferObject
 A buffer object (i.e. ShaderStorageBuffer). More...
 
class  Camera
 Defines an abstract camera with a projection and view matrices. More...
 
class  DirectionalTrackball
 A directional trackball, useful for light direction for example. More...
 
class  Effect
 The Effect class is a holder for Shaders. It is completely optional, but is contains a few methods for convenience, and is extremely useful to organize shaders belonging to a single effect (such as multipass strategies). More...
 
class  Flycamera
 Flythrough camera class for manipulating a camera. More...
 
class  Framebuffer
 A wrapper class for creating and using FBOs. More...
 
class  Freecamera
 Free camera class for manipulating a camera. More...
 
class  Frustum
 
class  Manipulator
 Class for object manipulator. More...
 
class  Mesh
 A common Mesh, usually containing triagles or points. More...
 
class  Model
 The Model class is a holder for any kind of model, such as meshes, point clouds, surfaces ... that should inherit the model class. More...
 
class  Path
 Path class, defines control points and a cubic Bezier approximation for defining a smooth path from key frames. More...
 
class  QtFlycameraWidget
 A widget with a trackball iteration for a single mesh and a single light source. Extends QGLWidget class to include common methods for using Tucano this widget already has a default camera and light trackball and associated mouse methods. More...
 
class  QtFreecameraWidget
 A widget with a free camera. Extends QGLWidget class to include common methods for using Tucano this widget already has a default camera and light trackball and associated mouse methods. More...
 
class  QtGlewFlycameraInitializer
 This class is just to make sure that GLEW is initialized before anything else, so the constructor of this class is called before the QtFlycameraWidget constructor. More...
 
class  QtGlewInitializer
 This class is just to make sure that GLEW is initialized before anything else, so the constructor of this class is called before the QtTrackballWidget constructor. More...
 
class  QtPlainWidget
 A plain QtWidget. More...
 
class  QtTrackballWidget
 A widget with a trackball iteration for a single mesh and a single light source. Extends QGLWidget class to include common methods for using ShaderLib this widget already has a default camera and light trackball and associated mouse methods. More...
 
class  RotationManipulator
 Manipulator for rotating a mesh It works as a spherical manipulator (such as a trackball) or a ring manipulator (one axis at a time) separate Spherical and Ring manipulators. More...
 
class  Shader
 A Shader object represents one GLSL program. More...
 
class  ShaderStorageBufferFloat
 The buffer object of thype ShaderStorageBuffer with Float elements. More...
 
class  ShaderStorageBufferInt
 The buffer object of thype ShaderStorageBuffer with Integer elements. More...
 
class  Texture
 An OpenGL texture. It can be a simple texture or an FBO texture. More...
 
class  TextureManager
 Singleton class that manages texture unit allocation. More...
 
class  Trackball
 Trackball class for manipulating a camera. More...
 
class  TranslationManipulator
 Mainpulator for translating a mesh. More...
 
class  VertexAttribute
 A vertex attribute of a mesh. More...
 

Functions

template<typename Scalar , int Dim>
ostream & operator<< (ostream &out, const Hyperplane< Scalar, Dim > &plane)
 
template<typename Scalar , int Dim>
ostream & operator<< (ostream &out, const AlignedBox< Scalar, Dim > &box)
 

Variables

const string trackball_fragment_code
 Default fragment shader for rendering trackball representation. More...
 
const string trackball_vertex_code
 Default vertex shader for rendering trackball representation. More...
 

Detailed Description

Tucano - A library for rapid prototying with Modern OpenGL and GLSL Copyright (C) 2014 LCG - Laboratório de Computação Gráfica (Computer Graphics Lab) - COPPE UFRJ - Federal University of Rio de Janeiro

This file is part of Tucano Library.

Tucano Library is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Tucano Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with Tucano Library. If not, see http://www.gnu.org/licenses/.

Tucano - A library for rapid prototying with Modern OpenGL and GLSL Copyright (C) 2014 LCG - Laboratório de Computação Gráfica (Computer Graphics Lab) - COPPE UFRJ - Federal University of Rio de Janeiro

Tucano Library is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Tucano Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with Tucano Library. If not, see http://www.gnu.org/licenses/.

Function Documentation

template<typename Scalar , int Dim>
ostream& Tucano::operator<< ( ostream &  out,
const Hyperplane< Scalar, Dim > &  plane 
)
template<typename Scalar , int Dim>
ostream& Tucano::operator<< ( ostream &  out,
const AlignedBox< Scalar, Dim > &  box 
)

Variable Documentation

const string Tucano::trackball_fragment_code
Initial value:
= "\n"
"#version 430\n"
"in vec4 ex_Color;\n"
"out vec4 out_Color;\n"
"in float depth;\n"
"void main(void)\n"
"{\n"
" out_Color = ex_Color;\n"
" gl_FragDepth = depth;\n"
"}\n"

Default fragment shader for rendering trackball representation.

const string Tucano::trackball_vertex_code
Initial value:
= "\n"
"#version 430\n"
"layout(location=0) in vec4 in_Position;\n"
"out vec4 ex_Color;\n"
"out float depth;\n"
"uniform mat4 modelMatrix;\n"
"uniform mat4 viewMatrix;\n"
"uniform mat4 projectionMatrix;\n"
"uniform vec4 in_Color;\n"
"uniform float nearPlane;\n"
"uniform float farPlane;\n"
"void main(void)\n"
"{\n"
" vec4 pos = (viewMatrix * modelMatrix) * in_Position;\n"
" depth = (farPlane+nearPlane)/(farPlane-nearPlane) + ( (2*nearPlane*farPlane)/(farPlane-nearPlane) ) * (1/pos[2]);\n"
" depth = (depth+1.0)/2.0;\n"
" gl_Position = projectionMatrix * pos;\n"
" ex_Color = in_Color;\n"
"}\n"

Default vertex shader for rendering trackball representation.