31#ifndef VP_PANDA3D_BASE_RENDERER_H
32#define VP_PANDA3D_BASE_RENDERER_H
34#include <visp3/core/vpConfig.h>
36#if defined(VISP_HAVE_PANDA3D)
37#include <visp3/core/vpPoint.h>
38#include <visp3/core/vpCameraParameters.h>
39#include <visp3/ar/vpPanda3DRenderParameters.h>
41#include <windowFramework.h>
42#include <graphicsOutput.h>
85 virtual void initFramework();
86 virtual void initFromParent(PointerTo<WindowFramework> window);
90 virtual void renderFrame();
91 virtual void afterFrameRendered();
136 void setRenderOrder(
int order);
204 void computeNearAndFarPlanesFromNode(
const std::string &name,
float &nearV,
float &farV,
bool fast);
215 NodePath loadObject(
const std::string &nodeName,
const std::string &modelPath);
222 virtual void addNodeToScene(
const NodePath &
object);
230 virtual void addObjectToScene(
const std::string &name,
const std::string &path);
238 void setVerticalSyncEnabled(
bool useVsync);
245 void setAbortOnPandaError(
bool abort);
246 void enableDebugLog();
251 void printStructure();
271 virtual void setupScene();
277 virtual void setupCamera();
Implementation of column vector and the associated operations.
Implementation of an homogeneous matrix and operations on such kind of matrices.
Base class for a panda3D renderer. This class handles basic functionalities, such as loading object,...
vpPanda3DBaseRenderer(const std::string &rendererName)
const std::string & getName() const
Get the name of the renderer.
NodePath m_renderRoot
Rendering parameters.
PointerTo< Camera > m_camera
Node containing all the objects and the camera for this renderer.
virtual bool isRendering3DScene() const
Returns true if this renderer process 3D data and its scene root can be interacted with.
void setVerticalSyncEnabled(bool useVsync)
set whether vertical sync is enabled. When vertical sync is enabled, render speed will be limited by ...
static const vpHomogeneousMatrix PANDA_T_VISP
Homogeneous transformation matrix to convert from the Panda coordinate system (right-handed Z-up) to ...
std::string m_name
Inverse of VISP_T_PANDA.
bool m_isWindowOwner
Set of buffers that this renderer uses. This storage contains weak refs to those buffers and should n...
static const vpHomogeneousMatrix VISP_T_PANDA
std::vector< PointerTo< GraphicsOutput > > m_buffers
NodePath of the camera.
void setName(const std::string &name)
PointerTo< WindowFramework > m_window
Rendering priority for this renderer and its buffers. A lower value will be rendered first....
virtual PointerTo< GraphicsOutput > getMainOutputBuffer()
int getRenderOrder() const
Get the rendering order of this renderer. If a renderer A has a lower order value than B,...
virtual void setupRenderTarget()
Initialize buffers and other objects that are required to save the render.
PointerTo< WindowFramework > & getWindowFramework()
int m_renderOrder
name of the renderer
virtual void clearScene()
virtual void beforeFrameRendered()
vpPanda3DRenderParameters m_renderParameters
Pointer to owning window, which can create buffers etc. It is not necessarily visible.
NodePath & getRenderRoot()
Get the scene root.
Rendering parameters for a panda3D simulation.