31 #ifndef VP_PANDA3D_POST_PROCESS_FILTER_H
32 #define VP_PANDA3D_POST_PROCESS_FILTER_H
34 #include <visp3/core/vpConfig.h>
36 #if defined(VISP_HAVE_PANDA3D)
37 #include <visp3/ar/vpPanda3DBaseRenderer.h>
38 #include "cardMaker.h"
39 #include "orthographicLens.h"
59 vpPanda3DPostProcessFilter(
const std::string &name, std::shared_ptr<vpPanda3DBaseRenderer> inputRenderer,
bool isOutput, std::string fragmentShader)
60 :
vpPanda3DBaseRenderer(name), m_inputRenderer(inputRenderer), m_isOutput(isOutput), m_fragmentShader(fragmentShader)
84 void setupCamera() VP_OVERRIDE;
86 void setupRenderTarget() VP_OVERRIDE;
90 void getRenderBasic(
vpImage<
unsigned char> &I) const;
93 virtual FrameBufferProperties getBufferProperties() const = 0;
97 std::
string m_fragmentShader;
98 PointerTo<Shader> m_shader;
99 PointerTo<Texture> m_texture;
100 PointerTo<GraphicsOutput> m_buffer;
102 static const
char *FILTER_VERTEX_SHADER;
Definition of the vpImage class member functions.
Base class for a panda3D renderer. This class handles basic functionalities, such as loading object,...
virtual void setupScene()
Initialize the scene for this specific renderer.
virtual void afterFrameRendered()
int getRenderOrder() const
Get the rendering order of this renderer. If a renderer A has a lower order value than B,...
Base class for postprocessing filters that map the result of a vpPanda3DBaseRenderer to a new image.
bool isRendering3DScene() const VP_OVERRIDE
Returns true if this renderer process 3D data and its scene root can be interacted with.
virtual ~vpPanda3DPostProcessFilter()=default
GraphicsOutput * getMainOutputBuffer() VP_OVERRIDE
vpPanda3DPostProcessFilter(const std::string &name, std::shared_ptr< vpPanda3DBaseRenderer > inputRenderer, bool isOutput, std::string fragmentShader)
void afterFrameRendered() VP_OVERRIDE
Rendering parameters for a panda3D simulation.