ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
ShaderBag Class Referenceabstract

#include <ProgramGLSL.h>

Inheritance diagram for ShaderBag:
Collaboration diagram for ShaderBag:

Public Member Functions

virtual void SetGenListInitParam (int w, int h)
 
virtual void SetGenListEndParam (int ktex)
 
virtual void SetMarginCopyParam (int xmax, int ymax)
 
virtual void LoadDescriptorShader ()
 
virtual void SetFeatureDescirptorParam (int gtex, int otex, float dwidth, float fwidth, float width, float height, float sigma)
 
virtual void SetFeatureOrientationParam (int gtex, int width, int height, float sigma, int stex, float step)
 
virtual void SetSimpleOrientationInput (int oTex, float sigma, float sigma_step)
 
virtual void LoadOrientationShader ()=0
 
virtual void SetGenListStartParam (float width, int tex0)=0
 
virtual void LoadGenListShader (int ndoglev, int nlev)=0
 
virtual void UnloadProgram ()=0
 
virtual void LoadKeypointShader (float threshold, float edgeTrheshold)=0
 
virtual void LoadFixedShaders ()=0
 
virtual void LoadDisplayShaders ()=0
 
virtual void SetDogTexParam (int texU, int texD)=0
 
virtual void SetGradPassParam (int texP=0)
 
virtual void SetGenListStepParam (int tex, int tex0)=0
 
virtual void SetGenVBOParam (float width, float fwidth, float size)=0
 
void CreateGaussianFilters (SiftParam &param)
 
void SelectInitialSmoothingFilter (int octave_min, SiftParam &param)
 
void LoadDynamicShaders (SiftParam &param)
 
 ShaderBag ()
 
virtual ~ShaderBag ()
 

Public Attributes

ProgramGPUs_gray
 
ProgramGPUs_copy_key
 
ProgramGPUs_debug
 
ProgramGPUs_orientation
 
ProgramGPUs_display_gaussian
 
ProgramGPUs_display_dog
 
ProgramGPUs_display_grad
 
ProgramGPUs_display_keys
 
ProgramGPUs_sampling
 
ProgramGPUs_grad_pass
 
ProgramGPUs_dog_pass
 
ProgramGPUs_keypoint
 
ProgramGPUs_seperate_sp
 
ProgramGPUs_genlist_init_tight
 
ProgramGPUs_genlist_init_ex
 
ProgramGPUs_genlist_histo
 
ProgramGPUs_genlist_start
 
ProgramGPUs_genlist_step
 
ProgramGPUs_genlist_end
 
ProgramGPUs_zero_pass
 
ProgramGPUs_vertex_list
 
ProgramGPUs_descriptor_fp
 
ProgramGPUs_margin_copy
 
FilterProgramf_gaussian_skip0
 
vector< FilterProgram * > f_gaussian_skip0_v
 
FilterProgramf_gaussian_skip1
 
FilterProgram ** f_gaussian_step
 
int _gaussian_step_num
 

Detailed Description

Definition at line 98 of file ProgramGLSL.h.

Constructor & Destructor Documentation

◆ ShaderBag()

ShaderBag::ShaderBag ( )

Definition at line 536 of file ProgramGLSL.cpp.

References NULL.

◆ ~ShaderBag()

ShaderBag::~ShaderBag ( )
virtual

Definition at line 565 of file ProgramGLSL.cpp.

Member Function Documentation

◆ CreateGaussianFilters()

void ShaderBag::CreateGaussianFilters ( SiftParam param)

◆ LoadDescriptorShader()

virtual void ShaderBag::LoadDescriptorShader ( )
inlinevirtual

Reimplemented in ShaderBagPKSL, and ShaderBagGLSL.

Definition at line 150 of file ProgramGLSL.h.

◆ LoadDisplayShaders()

virtual void ShaderBag::LoadDisplayShaders ( )
pure virtual

Implemented in ShaderBagPKSL, and ShaderBagGLSL.

Referenced by ShaderMan::InitShaderMan().

◆ LoadDynamicShaders()

void ShaderBag::LoadDynamicShaders ( SiftParam param)

◆ LoadFixedShaders()

virtual void ShaderBag::LoadFixedShaders ( )
pure virtual

Implemented in ShaderBagPKSL, and ShaderBagGLSL.

Referenced by ShaderMan::InitShaderMan().

◆ LoadGenListShader()

virtual void ShaderBag::LoadGenListShader ( int  ndoglev,
int  nlev 
)
pure virtual

Implemented in ShaderBagPKSL, and ShaderBagGLSL.

◆ LoadKeypointShader()

virtual void ShaderBag::LoadKeypointShader ( float  threshold,
float  edgeTrheshold 
)
pure virtual

Implemented in ShaderBagPKSL, and ShaderBagGLSL.

◆ LoadOrientationShader()

virtual void ShaderBag::LoadOrientationShader ( )
pure virtual

Implemented in ShaderBagPKSL, and ShaderBagGLSL.

◆ SelectInitialSmoothingFilter()

void ShaderBag::SelectInitialSmoothingFilter ( int  octave_min,
SiftParam param 
)

◆ SetDogTexParam()

virtual void ShaderBag::SetDogTexParam ( int  texU,
int  texD 
)
pure virtual

Implemented in ShaderBagPKSL, and ShaderBagGLSL.

Referenced by ShaderMan::UseShaderKeypoint().

◆ SetFeatureDescirptorParam()

virtual void ShaderBag::SetFeatureDescirptorParam ( int  gtex,
int  otex,
float  dwidth,
float  fwidth,
float  width,
float  height,
float  sigma 
)
inlinevirtual

Reimplemented in ShaderBagPKSL, and ShaderBagGLSL.

Definition at line 151 of file ProgramGLSL.h.

Referenced by ShaderMan::UseShaderDescriptor().

◆ SetFeatureOrientationParam()

virtual void ShaderBag::SetFeatureOrientationParam ( int  gtex,
int  width,
int  height,
float  sigma,
int  stex,
float  step 
)
inlinevirtual

Reimplemented in ShaderBagGLSL, and ShaderBagPKSL.

Definition at line 152 of file ProgramGLSL.h.

Referenced by ShaderMan::UseShaderOrientation().

◆ SetGenListEndParam()

virtual void ShaderBag::SetGenListEndParam ( int  ktex)
inlinevirtual

Reimplemented in ShaderBagPKSL.

Definition at line 148 of file ProgramGLSL.h.

Referenced by ShaderMan::UseShaderGenListEnd().

◆ SetGenListInitParam()

virtual void ShaderBag::SetGenListInitParam ( int  w,
int  h 
)
inlinevirtual

Reimplemented in ShaderBagPKSL, and ShaderBagGLSL.

Definition at line 147 of file ProgramGLSL.h.

Referenced by ShaderMan::UseShaderGenListInit().

◆ SetGenListStartParam()

virtual void ShaderBag::SetGenListStartParam ( float  width,
int  tex0 
)
pure virtual

Implemented in ShaderBagPKSL, and ShaderBagGLSL.

Referenced by ShaderMan::UseShaderGenListStart().

◆ SetGenListStepParam()

virtual void ShaderBag::SetGenListStepParam ( int  tex,
int  tex0 
)
pure virtual

Implemented in ShaderBagPKSL, and ShaderBagGLSL.

Referenced by ShaderMan::UseShaderGenListStep().

◆ SetGenVBOParam()

virtual void ShaderBag::SetGenVBOParam ( float  width,
float  fwidth,
float  size 
)
pure virtual

Implemented in ShaderBagPKSL, and ShaderBagGLSL.

Referenced by ShaderMan::UseShaderGenVBO().

◆ SetGradPassParam()

virtual void ShaderBag::SetGradPassParam ( int  texP = 0)
inlinevirtual

Reimplemented in ShaderBagPKSL.

Definition at line 162 of file ProgramGLSL.h.

Referenced by ShaderMan::UseShaderGradientPass().

◆ SetMarginCopyParam()

virtual void ShaderBag::SetMarginCopyParam ( int  xmax,
int  ymax 
)
inlinevirtual

Reimplemented in ShaderBagPKSL, and ShaderBagGLSL.

Definition at line 149 of file ProgramGLSL.h.

Referenced by ShaderMan::UseShaderMarginCopy().

◆ SetSimpleOrientationInput()

virtual void ShaderBag::SetSimpleOrientationInput ( int  oTex,
float  sigma,
float  sigma_step 
)
inlinevirtual

Reimplemented in ShaderBagPKSL, and ShaderBagGLSL.

Definition at line 153 of file ProgramGLSL.h.

Referenced by ShaderMan::UseShaderSimpleOrientation().

◆ UnloadProgram()

virtual void ShaderBag::UnloadProgram ( )
pure virtual

Implemented in ShaderBagPKSL, and ShaderBagGLSL.

Referenced by ShaderMan::UnloadProgram().

Member Data Documentation

◆ _gaussian_step_num

int ShaderBag::_gaussian_step_num

Definition at line 145 of file ProgramGLSL.h.

◆ f_gaussian_skip0

FilterProgram* ShaderBag::f_gaussian_skip0

Definition at line 141 of file ProgramGLSL.h.

Referenced by ShaderMan::FilterInitialImage().

◆ f_gaussian_skip0_v

vector<FilterProgram*> ShaderBag::f_gaussian_skip0_v

Definition at line 142 of file ProgramGLSL.h.

◆ f_gaussian_skip1

FilterProgram* ShaderBag::f_gaussian_skip1

Definition at line 143 of file ProgramGLSL.h.

Referenced by ShaderMan::FilterSampledImage().

◆ f_gaussian_step

FilterProgram** ShaderBag::f_gaussian_step

Definition at line 144 of file ProgramGLSL.h.

Referenced by PyramidNaive::BuildPyramid(), and PyramidPacked::BuildPyramid().

◆ s_copy_key

ProgramGPU* ShaderBag::s_copy_key

Definition at line 104 of file ProgramGLSL.h.

Referenced by ShaderMan::UseShaderCopyKeypoint().

◆ s_debug

ProgramGPU* ShaderBag::s_debug

Definition at line 106 of file ProgramGLSL.h.

Referenced by ShaderMan::UseShaderDebug().

◆ s_descriptor_fp

ProgramGPU* ShaderBag::s_descriptor_fp

Definition at line 137 of file ProgramGLSL.h.

Referenced by ShaderMan::UseShaderDescriptor().

◆ s_display_dog

ProgramGPU* ShaderBag::s_display_dog

Definition at line 113 of file ProgramGLSL.h.

Referenced by ShaderMan::UseShaderDisplayDOG().

◆ s_display_gaussian

ProgramGPU* ShaderBag::s_display_gaussian

Definition at line 111 of file ProgramGLSL.h.

Referenced by ShaderMan::UseShaderDisplayGaussian().

◆ s_display_grad

ProgramGPU* ShaderBag::s_display_grad

Definition at line 115 of file ProgramGLSL.h.

Referenced by ShaderMan::UseShaderDisplayGrad().

◆ s_display_keys

ProgramGPU* ShaderBag::s_display_keys

Definition at line 117 of file ProgramGLSL.h.

Referenced by ShaderMan::UseShaderDisplayKeypoints().

◆ s_dog_pass

ProgramGPU* ShaderBag::s_dog_pass

Definition at line 122 of file ProgramGLSL.h.

◆ s_genlist_end

ProgramGPU* ShaderBag::s_genlist_end

Definition at line 132 of file ProgramGLSL.h.

Referenced by ShaderMan::UseShaderGenListEnd().

◆ s_genlist_histo

ProgramGPU* ShaderBag::s_genlist_histo

Definition at line 129 of file ProgramGLSL.h.

Referenced by ShaderMan::UseShaderGenListHisto().

◆ s_genlist_init_ex

ProgramGPU* ShaderBag::s_genlist_init_ex

Definition at line 128 of file ProgramGLSL.h.

Referenced by ShaderMan::UseShaderGenListInit().

◆ s_genlist_init_tight

ProgramGPU* ShaderBag::s_genlist_init_tight

Definition at line 127 of file ProgramGLSL.h.

Referenced by ShaderMan::UseShaderGenListInit().

◆ s_genlist_start

ProgramGPU* ShaderBag::s_genlist_start

Definition at line 130 of file ProgramGLSL.h.

Referenced by ShaderMan::UseShaderGenListStart().

◆ s_genlist_step

ProgramGPU* ShaderBag::s_genlist_step

Definition at line 131 of file ProgramGLSL.h.

Referenced by ShaderMan::UseShaderGenListStep().

◆ s_grad_pass

ProgramGPU* ShaderBag::s_grad_pass

Definition at line 121 of file ProgramGLSL.h.

Referenced by ShaderMan::UseShaderGradientPass().

◆ s_gray

ProgramGPU* ShaderBag::s_gray

Definition at line 102 of file ProgramGLSL.h.

Referenced by ShaderMan::UseShaderRGB2Gray().

◆ s_keypoint

ProgramGPU* ShaderBag::s_keypoint

Definition at line 124 of file ProgramGLSL.h.

Referenced by ShaderMan::UseShaderKeypoint().

◆ s_margin_copy

ProgramGPU* ShaderBag::s_margin_copy

Definition at line 139 of file ProgramGLSL.h.

Referenced by ShaderMan::UseShaderMarginCopy().

◆ s_orientation

ProgramGPU* ShaderBag::s_orientation

◆ s_sampling

ProgramGPU* ShaderBag::s_sampling

Definition at line 119 of file ProgramGLSL.h.

Referenced by ShaderMan::TextureDownSample(), and ShaderMan::TextureUpSample().

◆ s_seperate_sp

ProgramGPU* ShaderBag::s_seperate_sp

Definition at line 125 of file ProgramGLSL.h.

◆ s_vertex_list

ProgramGPU* ShaderBag::s_vertex_list

Definition at line 135 of file ProgramGLSL.h.

Referenced by ShaderMan::UseShaderGenVBO().

◆ s_zero_pass

ProgramGPU* ShaderBag::s_zero_pass

Definition at line 133 of file ProgramGLSL.h.

Referenced by ShaderMan::UseShaderZeroPass().


The documentation for this class was generated from the following files: