Hugintrunk  0.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Namespaces | Macros | Functions
PanoToolsTransformGPU.cpp File Reference

GPU shader program conversion for PTools::Transform. More...

#include <hugin_config.h>
#include <stdlib.h>
#include "PanoToolsInterface.h"
#include <iostream>
#include <iomanip>
Include dependency graph for PanoToolsTransformGPU.cpp:

Go to the source code of this file.

Namespaces

 HuginBase
 mainly consists of wrapper around the pano tools library, to assist in ressource management and to provide a nicer interface.
 
 HuginBase::PTools
 

Macros

#define distanceparam   (*((double*)params))
 
#define shift   (*((double*)params))
 
#define var0   ((double*)params)[0]
 
#define var1   ((double*)params)[1]
 
#define var2   ((double*)params)[2]
 
#define var3   ((double*)params)[3]
 
#define var4   ((double*)params)[4]
 
#define var5   ((double*)params)[5]
 
#define mp   ((struct MakeParams*)params)
 
#define DISCARD   "{ discardA = 0.0; discardB = 1.0; }"
 

Functions

static void rotate_erect_glsl (ostringstream &oss, const void *params)
 
static void resize_glsl (ostringstream &oss, const void *params)
 
static void vert_glsl (ostringstream &oss, const void *params)
 
static void horiz_glsl (ostringstream &oss, const void *params)
 
static void shear_glsl (ostringstream &oss, const void *params)
 
static void erect_pano_glsl (ostringstream &oss, const void *params)
 
static void erect_rect_glsl (ostringstream &oss, const void *params)
 
static void erect_sphere_tp_glsl (ostringstream &oss, const void *params)
 
static void sphere_tp_erect_glsl (ostringstream &oss, const void *params)
 
static void vertical_glsl (ostringstream &oss, const void *params)
 
static void deregister_glsl (ostringstream &oss, const void *params)
 
static void radial_glsl (ostringstream &oss, const void *params)
 
static void pano_sphere_tp_glsl (ostringstream &oss, const void *params)
 
static void rect_sphere_tp_glsl (ostringstream &oss, const void *params)
 
static void persp_sphere_glsl (ostringstream &oss, const void *params)
 
static void erect_mercator_glsl (ostringstream &oss, const void *params)
 
static void erect_millercylindrical_glsl (ostringstream &oss, const void *params)
 
static void erect_lambert_glsl (ostringstream &oss, const void *params)
 
static void erect_transmercator_glsl (ostringstream &oss, const void *params)
 
static void erect_sinusoidal_glsl (ostringstream &oss, const void *params)
 
static void erect_lambertazimuthal_glsl (ostringstream &oss, const void *params)
 
static void erect_hammer_glsl (ostringstream &oss, const void *params)
 
static void erect_arch_glsl (ostringstream &oss, const void *params)
 
static void erect_stereographic_glsl (ostringstream &oss, const void *params)
 
static void stereographic_erect_glsl (ostringstream &oss, const void *params)
 
static void erect_albersequalareaconic_glsl (ostringstream &oss, const void *params)
 
static void lambertazimuthal_erect_glsl (ostringstream &oss, const void *params)
 
static void sphere_tp_equisolid_glsl (ostringstream &oss, const void *params)
 
static void sphere_tp_orthographic_glsl (ostringstream &oss, const void *params)
 
static void orthographic_sphere_tp_glsl (ostringstream &oss, const void *params)
 
static void sphere_tp_thoby_glsl (ostringstream &oss, const void *params)
 
static void thoby_sphere_tp_glsl (ostringstream &oss, const void *params)
 
static void plane_transfer_to_camera_glsl (ostringstream &oss, const void *params)
 

Detailed Description

GPU shader program conversion for PTools::Transform.

Author
Andrew Mihal

$Id$

This program 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 2 of the License, or (at your option) any later version.

This software 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 this software. If not, see http://www.gnu.org/licenses/.

Definition in file PanoToolsTransformGPU.cpp.

Macro Definition Documentation

#define DISCARD   "{ discardA = 0.0; discardB = 1.0; }"
#define distanceparam   (*((double*)params))
#define mp   ((struct MakeParams*)params)
#define shift   (*((double*)params))

Definition at line 40 of file PanoToolsTransformGPU.cpp.

Referenced by horiz_glsl(), CPImageCtrl::OnKey(), print_result(), and vert_glsl().

#define var0   ((double*)params)[0]
#define var1   ((double*)params)[1]
#define var2   ((double*)params)[2]
#define var3   ((double*)params)[3]
#define var4   ((double*)params)[4]
#define var5   ((double*)params)[5]

Function Documentation

static void deregister_glsl ( ostringstream &  oss,
const void *  params 
)
static

Definition at line 155 of file PanoToolsTransformGPU.cpp.

References var1, var2, var3, and var4.

Referenced by HuginBase::PTools::Transform::emitGLSL().

static void erect_albersequalareaconic_glsl ( ostringstream &  oss,
const void *  params 
)
static

Definition at line 338 of file PanoToolsTransformGPU.cpp.

References DISCARD, M_PI, and mp.

Referenced by HuginBase::PTools::Transform::emitGLSL().

static void erect_arch_glsl ( ostringstream &  oss,
const void *  params 
)
static

Definition at line 297 of file PanoToolsTransformGPU.cpp.

References distanceparam.

Referenced by HuginBase::PTools::Transform::emitGLSL().

static void erect_hammer_glsl ( ostringstream &  oss,
const void *  params 
)
static

Definition at line 282 of file PanoToolsTransformGPU.cpp.

References DISCARD, distanceparam, and M_PI.

Referenced by HuginBase::PTools::Transform::emitGLSL().

static void erect_lambert_glsl ( ostringstream &  oss,
const void *  params 
)
static

Definition at line 240 of file PanoToolsTransformGPU.cpp.

References distanceparam.

Referenced by HuginBase::PTools::Transform::emitGLSL().

static void erect_lambertazimuthal_glsl ( ostringstream &  oss,
const void *  params 
)
static

Definition at line 265 of file PanoToolsTransformGPU.cpp.

References DISCARD, distanceparam, and M_PI.

Referenced by HuginBase::PTools::Transform::emitGLSL().

static void erect_mercator_glsl ( ostringstream &  oss,
const void *  params 
)
static

Definition at line 228 of file PanoToolsTransformGPU.cpp.

References distanceparam.

Referenced by HuginBase::PTools::Transform::emitGLSL().

static void erect_millercylindrical_glsl ( ostringstream &  oss,
const void *  params 
)
static

Definition at line 234 of file PanoToolsTransformGPU.cpp.

References distanceparam.

Referenced by HuginBase::PTools::Transform::emitGLSL().

static void erect_pano_glsl ( ostringstream &  oss,
const void *  params 
)
static

Definition at line 95 of file PanoToolsTransformGPU.cpp.

References distanceparam.

Referenced by HuginBase::PTools::Transform::emitGLSL().

static void erect_rect_glsl ( ostringstream &  oss,
const void *  params 
)
static

Definition at line 101 of file PanoToolsTransformGPU.cpp.

References distanceparam.

Referenced by HuginBase::PTools::Transform::emitGLSL().

static void erect_sinusoidal_glsl ( ostringstream &  oss,
const void *  params 
)
static

Definition at line 258 of file PanoToolsTransformGPU.cpp.

References DISCARD, distanceparam, and M_PI.

Referenced by HuginBase::PTools::Transform::emitGLSL().

static void erect_sphere_tp_glsl ( ostringstream &  oss,
const void *  params 
)
static

Definition at line 108 of file PanoToolsTransformGPU.cpp.

References distanceparam.

Referenced by HuginBase::PTools::Transform::emitGLSL().

static void erect_stereographic_glsl ( ostringstream &  oss,
const void *  params 
)
static

Definition at line 309 of file PanoToolsTransformGPU.cpp.

References DISCARD, and distanceparam.

Referenced by HuginBase::PTools::Transform::emitGLSL().

static void erect_transmercator_glsl ( ostringstream &  oss,
const void *  params 
)
static

Definition at line 246 of file PanoToolsTransformGPU.cpp.

References DISCARD, distanceparam, and M_PI.

Referenced by HuginBase::PTools::Transform::emitGLSL().

static void horiz_glsl ( ostringstream &  oss,
const void *  params 
)
static

Definition at line 83 of file PanoToolsTransformGPU.cpp.

References shift.

Referenced by HuginBase::PTools::Transform::emitGLSL().

static void lambertazimuthal_erect_glsl ( ostringstream &  oss,
const void *  params 
)
static

Definition at line 370 of file PanoToolsTransformGPU.cpp.

References DISCARD, and distanceparam.

Referenced by HuginBase::PTools::Transform::emitGLSL().

static void orthographic_sphere_tp_glsl ( ostringstream &  oss,
const void *  params 
)
static

Definition at line 401 of file PanoToolsTransformGPU.cpp.

References DISCARD, and distanceparam.

Referenced by HuginBase::PTools::Transform::emitGLSL().

static void pano_sphere_tp_glsl ( ostringstream &  oss,
const void *  params 
)
static

Definition at line 178 of file PanoToolsTransformGPU.cpp.

References distanceparam.

Referenced by HuginBase::PTools::Transform::emitGLSL().

static void persp_sphere_glsl ( ostringstream &  oss,
const void *  params 
)
static

Definition at line 206 of file PanoToolsTransformGPU.cpp.

Referenced by HuginBase::PTools::Transform::emitGLSL().

static void plane_transfer_to_camera_glsl ( ostringstream &  oss,
const void *  params 
)
static

Definition at line 434 of file PanoToolsTransformGPU.cpp.

References DISCARD, and mp.

Referenced by HuginBase::PTools::Transform::emitGLSL().

static void radial_glsl ( ostringstream &  oss,
const void *  params 
)
static

Definition at line 165 of file PanoToolsTransformGPU.cpp.

References var0, var1, var2, var3, var4, and var5.

Referenced by HuginBase::PTools::Transform::emitGLSL().

static void rect_sphere_tp_glsl ( ostringstream &  oss,
const void *  params 
)
static

Definition at line 192 of file PanoToolsTransformGPU.cpp.

References distanceparam, and M_PI.

Referenced by HuginBase::PTools::Transform::emitGLSL().

static void resize_glsl ( ostringstream &  oss,
const void *  params 
)
static

Definition at line 71 of file PanoToolsTransformGPU.cpp.

References var0, and var1.

Referenced by HuginBase::PTools::Transform::emitGLSL().

static void rotate_erect_glsl ( ostringstream &  oss,
const void *  params 
)
static

Definition at line 53 of file PanoToolsTransformGPU.cpp.

References var0, and var1.

Referenced by HuginBase::PTools::Transform::emitGLSL().

static void shear_glsl ( ostringstream &  oss,
const void *  params 
)
static

Definition at line 89 of file PanoToolsTransformGPU.cpp.

References var0, and var1.

Referenced by HuginBase::PTools::Transform::emitGLSL().

static void sphere_tp_equisolid_glsl ( ostringstream &  oss,
const void *  params 
)
static

Definition at line 381 of file PanoToolsTransformGPU.cpp.

References distanceparam.

Referenced by HuginBase::PTools::Transform::emitGLSL().

static void sphere_tp_erect_glsl ( ostringstream &  oss,
const void *  params 
)
static

Definition at line 123 of file PanoToolsTransformGPU.cpp.

References distanceparam, and M_PI.

Referenced by HuginBase::PTools::Transform::emitGLSL().

static void sphere_tp_orthographic_glsl ( ostringstream &  oss,
const void *  params 
)
static

Definition at line 390 of file PanoToolsTransformGPU.cpp.

References DISCARD, and distanceparam.

Referenced by HuginBase::PTools::Transform::emitGLSL().

static void sphere_tp_thoby_glsl ( ostringstream &  oss,
const void *  params 
)
static

Definition at line 413 of file PanoToolsTransformGPU.cpp.

References DISCARD, and distanceparam.

Referenced by HuginBase::PTools::Transform::emitGLSL().

static void stereographic_erect_glsl ( ostringstream &  oss,
const void *  params 
)
static

Definition at line 327 of file PanoToolsTransformGPU.cpp.

References distanceparam.

Referenced by HuginBase::PTools::Transform::emitGLSL().

static void thoby_sphere_tp_glsl ( ostringstream &  oss,
const void *  params 
)
static

Definition at line 424 of file PanoToolsTransformGPU.cpp.

References distanceparam.

Referenced by HuginBase::PTools::Transform::emitGLSL().

static void vert_glsl ( ostringstream &  oss,
const void *  params 
)
static

Definition at line 77 of file PanoToolsTransformGPU.cpp.

References shift.

Referenced by HuginBase::PTools::Transform::emitGLSL().

static void vertical_glsl ( ostringstream &  oss,
const void *  params 
)
static

Definition at line 145 of file PanoToolsTransformGPU.cpp.

References var0, var1, var2, var3, and var4.

Referenced by HuginBase::PTools::Transform::emitGLSL().